首页 > 数据库 > 国内数据库 > 羲和(Halo)数据库——DBMS_SQL浅尝
DBMS_SQL是ORACLE数据库提供的一个系统包,用于执行动态SQL,支持使用DDL和DML等。 DBMS_SQL整体运行流程图如下:
下面简单介绍一下本文中所使用到的DBMS_SQL部分接口,如果查看更为详细的介绍,建议参考ORACLE官方文档。
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, 'INSERT INTO tab VALUES (:bnd1, :bnd2) ' || 'RETURNING c1*c2 INTO :bnd3', DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE(c, 'bnd1', c1);
DBMS_SQL.BIND_ARRAY(c, 'bnd3', r);
DEFINE_COLUMN: 用于定义待执行的SELECT语句的最终返回结果集中的列。
n := DBMS_SQL.EXECUTE(c);
IF DBMS_SQL.FETCH_ROWS(source_cursor)>0 THEN -- get column values of the row
r := DBMS_SQL.EXECUTE_AND_FETCH(c);
DBMS_SQL.VARIABLE_VALUE(c, 'bnd3', r);
DBMS_SQL.COLUMN_VALUE(c, 1, some_dnames);
DBMS_SQL.CLOSE_CURSOR(c);
羲和(Halo)数据库设置为ORACLE模式,创建一个演示数据库test_db,创建内部所需的ORACLE拓展。

当需要使用oracle相关的特性,建议直接使用hsql进行登录使用。所以此处使用hsql -dtest_db,登录test_db数据库进行接下来的相关操作。





multi_Row_update :将c2为11,对应的c1更新成100


exec :支持运行DDL和没有绑定参数的DML语句。

copy :将源表中的数据复制到目标表,这个存储过程有助于帮助大家理解和使用DBMS_SQL。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70039682/viewspace-3021971/ ,如需转载,请注明出处,否则将追究法律责任。