oracle 动态执行命令execute immediateITeye - 超凡娱乐

oracle 动态执行命令execute immediateITeye

2019-01-10 18:25:41 | 作者: 晨涛 | 标签: 动态,句子,子句 | 浏览: 2549

3. 在PL/SQL运转DDL句子


begin
execute immediate set role all;
end;

 

4. 给动态句子传值(USING 子句)


declare
l_depnam varchar2(20) := testing;
l_loc    varchar2(10) := Dubai;
begin
execute immediate insert into dept values (:1, :2, :3)
    using 50, l_depnam, l_loc;
commit;
end;

 

5. 从动态句子检索值(INTO子句)


declare
l_cnt    varchar2(20);
begin
execute immediate select count(1) from emp
    into l_cnt;
dbms_output.put_line(l_cnt);
end;

 

6. 动态调用例程.例程中用到的绑定变量参数有必要指定参数类型.黓以为IN类型,其它类型有必要显式指定

 

declare
l_routin   varchar2(100) := gen2161.get_rowcnt;
l_tblnam   varchar2(20) := emp;
l_cnt      number;
l_status   varchar2(200);
begin
execute immediate begin || l_routin || (:2, :3, :4); end;
    using in l_tblnam, out l_cnt, in out l_status;

if l_status != OK then
     dbms_output.put_line(error);
end if;
end;

 

7. 将返回值传递到PL/SQL记载类型;相同也可用%rowtype变量


declare
type empdtlrec is record (empno number(4),
                           ename varchar2(20),
                           deptno number(2));
empdtl empdtlrec;
begin
execute immediate select empno, ename, deptno ||
                   from emp where empno = 7934
    into empdtl;
end;

 

8. 传递并检索值.INTO子句用在USING子句前

 

declare
l_dept    pls_integer := 20;
l_nam     varchar2(20);
l_loc     varchar2(20);
begin
execute immediate select dname, loc from dept where deptno = :1
    into l_nam, l_loc
    using l_dept ;
end;

 

9. 多行查询选项.对此选项用insert句子填充暂时表,用暂时表进行进一步的处理,也可以用REF cursors纠正此缺憾.

declare
l_sal   pls_integer := 2000;
begin
execute immediate insert into temp(empno, ename) ||
                             select empno, ename from emp ||
                             where sal :1
    using l_sal;
commit;
end;

 

       关于处理动态句子,EXECUTE IMMEDIATE比曾经或许用到的更简单而且更高效.当目的履行动态句子时,适当地处理反常愈加重要.应该重视于捕获一切或许的反常.

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    Linux翻开端口办法ITeye

    端口,翻开,保存
  • 3
  • 4

    Oracle的根本数据字典ITeye

    一切,用户,信息
  • 5
  • 6
  • 7
  • 8

    Oracle排序(转)ITeye

    排序,空间,暂时
  • 9

    数据导入导出ITeye

    数据,导入,导出
  • 10

    sysbench test oracleITeye

    测验,数据,生成