zoukankan      html  css  js  c++  java
  • FORM中执行动态sql语句

    今天在 FORM BUILDER中用 execute immediate 'sql staments'执行动态sql时报错。

    后查发现form中用forms_ddl函数执行动态sql,并且此函数暗含了commit;

    详细介绍如下:

    一、FORMS_DDL函数

    FUNCTION FORMS_DDL(statement  VARCHAR2);

        用于动态执行SQL语句与PL/SQL语句

    注意事项:

         1、参数statement的最大容量不能超过32K。

         2、DDL类型的SQL语句,暗含一个commit命令。

    二、EXEC_SQL包

    用于动态执行DDL类型与DML类型的SQL语句。

    EXEC_SQL包的一般使用步聚:

    第一步:连接数据库:

         EXEC_SQL.Open_Connection /EXEC_SQL.Default_Connection

    第二步:创建一个指针变量 (游标):

         EXEC_SQL.Open_Cursor

    第三步:为指针变量加载一个SQL语句(DDL、DML): EXEC_SQL.Open_Cursor

    第四步:执行所加载一个SQL语句:

         EXEC_SQL.Execute

    第五步:批量针变量(游标)与关闭数据库连接:

         EXEC_SQL.Is_Open、EXEC_SQL.Close_Cursor 、EXEC_SQL.Close_Cursor、EXEC_SQL.Close_Cursor

    三、总结

    1、FORMS_DDL函数主要用于动态执行DDL类型的SQL语句(可以理解为因FORM中不能直接使用DDL类型的SQL语句。)。 FORMS_DDL函数只能作用于当前FORM所连接的数据库。

    2、 EXEC_SQL包主要有两个重要用途:

        第一:用于动态执行select语句并返回一个结果集。

        第二:用于不同数据库之间数据访问。

  • 相关阅读:
    python实训day8
    python实训day7
    python实训day6
    python实训day5
    python实训day4
    python实训day3
    python实训day2
    python实训day1
    MyBatis入门-insert标签介绍及使用
    Shell入门-Shell脚本开发规范
  • 原文地址:https://www.cnblogs.com/gary-bao/p/4261853.html
Copyright © 2011-2022 走看看