execute immediate 的用法
发布时间:2020-12-12 14:21:19 所属栏目:百科 来源:网络整理
导读:create or replace procedure proc_test(v_item in varchar2) as v_sql varchar2(2000):=''; --执行的sql v_num number(9); --员工人数 v_dname varchar2(200); --部门名称begin --execute immediate用法1:立即执行sql v_sql:='select * from emp'; execute
create or replace procedure proc_test(v_item in varchar2) as v_sql varchar2(2000):=''; --执行的sql v_num number(9); --员工人数 v_dname varchar2(200); --部门名称 begin --execute immediate用法1:立即执行sql v_sql:='select * from emp'; execute immediate v_sql; dbms_output.put_line('execute immediate用法1执行成功!'); --execute immediate用法2:立刻执行sql语句,并赋值给某个变量 v_sql:='select count(*) from emp'; execute immediate v_sql into v_num; dbms_output.put_line('execute immediate用法2执行成功!员工总数:'||v_num); --execute immediate用法3:立刻执行sql语句,并赋值给某个变量 v_sql:='select dname from dept where deptno = :1 '; execute immediate v_sql into v_dname using v_item ; dbms_output.put_line('execute immediate用法3执行成功!'||v_item||'部门名称为:'||v_dname); --异常处理 exception when OTHERS then begin dbms_output.put_line('sqlcode:'||sqlcode); dbms_output.put_line('sqlerror:'||SUBSTR(SQLERRM,1,200)); dbms_output.put_line('error in line:'||DBMS_UTILITY.format_error_backtrace); end; end proc_test; 在scott用户中创建上面存储过程: 执行存储过程: begin proc_test('20'); end; /
结果: execute immediate用法1执行成功!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 依赖、关联、聚合和组合区别
- 解决dubbox-demo-provider.xml报错的问题:提示Failed to r
- (译)cocos2d-x跨android&ios平台开发入门教程
- 使用MySQL语句来查询Apache服务器日志的方法
- rest – 返回类型为标记接口时使用Jackson的多态序列化
- 是否有相当于PostgreSQL的Redgate SQL Compare
- JavaScript的正则也有单行模式了
- swift2 – 如何在Swift 2和3中使用CommonCrypto for PBKDF2
- c# – 连接到webservice的Android应用程序 – 不工作
- SAX解析XML-说明及示例代码