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语句并返回一个结果集。

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

  • 相关阅读:
    Post与Get的区别
    线程的状态
    vsto publish后无法弹出winform窗口
    C# + winserver2008 openfiledialog 写入 textbox1 中的 路径不正确
    在 Visual C# 项目中调用 VBA 中的代码
    docker : env: /etc/init.d/redis: Permission denied
    python中常见的异常
    windows 的 docker使用
    CMD和DISM启用超级V
    升级pip
  • 原文地址:https://www.cnblogs.com/gary-bao/p/4261853.html
Copyright © 2011-2022 走看看