首页 DBMS_SQL包的使用方法

DBMS_SQL包的使用方法

举报
开通vip

DBMS_SQL包的使用方法DBMS_sql包的使用方法 文 | 达梦?dmwb 一、什么时候使用DBMS_sql? 1. 解析非常长的的字符串; 2. 得到查询的列的信息; 3. 实现第四种动态sql实现方式的需求。如果用NDS实现第四种方法,必须切换到动态PL/SQL,这需要更高级别的抽象能力; 4. 把动态游标的解析最小化; 二、调用dbms_sql需要执行五个步骤 1.打开一个游标 2.分析要执行的语句 3.绑定可能需要的任何输入变量 4.执行语句 5.关闭游标 测试案例 declare cur pls...

DBMS_SQL包的使用方法
DBMS_sql包的使用 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 文 | 达梦?dmwb 一、什么时候使用DBMS_sql? 1. 解析非常长的的字符串; 2. 得到查询的列的信息; 3. 实现第四种动态sql实现方式的需求。如果用NDS实现第四种方法,必须切换到动态PL/SQL,这需要更高级别的抽象能力; 4. 把动态游标的解析最小化; 二、调用dbms_sql需要执行五个步骤 1.打开一个游标 2.分析要执行的语句 3.绑定可能需要的任何输入变量 4.执行语句 5.关闭游标 测试案例 declare cur pls_integer:=DBMS_SQL.open_cursor; cols dbms_sql.desc_tab; ncols pls_integer; vnum number; vtext varchar2(20); v_rows number; begin --解析查询 dbms_sql.parse (cur,'select * from emp_test',dbms_sql.native); --提取列的信息 --dbms_sql.describe_columns(cur,ncols,cols); dbms_sql.define_column(cur,6,vnum); dbms_sql.define_column(cur,2,vtext,20); v_rows:=dbms_sql.execute(cur); --显示每一列的名字 /* for col_id in 1 .. ncols loop dbms_output.put_line(cols(col_id).col_name); end loop; dbms_sql.close_cursor(cur); */ --查询取值 loop if dbms_sql.fetch_rows(cur)=0 then exit; end if; dbms_sql.column_value(cur,6,vnum); dbms_sql.column_value(cur,2,vtext); dbms_output.put_line(vtext||' $'||vnum); end loop; dbms_sql.close_cursor(cur); end; --本测例中注释掉的代码可以完成另外一个需求,查询定义列的列名信息 需要注意:在使用DBMS_SQL包时,如果编译请求失败,而我们又没有明确的在异常处理单元里关闭游标,就可能会出现ORA-01000:maximum open cursor exceeded错误。如果用NDS就不会发生这种情况,在一个本地作用域声明的游标变量当块结束时,是可以自动关闭的(以及释放内存)。 【干货分享】你知道DBMS_SQL包的使用方法吗?什么时候需要使用DBMS_SQL?调用DBMS_SQL分哪几步?本期干货分享将一一为你解答。详情请见: #rd
本文档为【DBMS_SQL包的使用方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_212655
暂无简介~
格式:doc
大小:14KB
软件:Word
页数:0
分类:互联网
上传时间:2019-04-29
浏览量:12