码迷,mamicode.com
首页 > 数据库 > 详细

FORM中执行动态sql语句

时间:2015-01-30 15:12:32      阅读:536      评论:0      收藏:0      [点我收藏+]

标签:

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

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

FORM中执行动态sql语句

标签:

原文地址:http://www.cnblogs.com/gary-bao/p/4261853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!