欢迎投稿

今日深度:

oracle execute immediate,executeimmediate

oracle execute immediate,executeimmediate


declare   aa         number(15,2);   l_cnt      varchar2(200);   i_yr       int :=11;   i_curCode  varchar2(100) :='001';   i_vDate    date := sysdate;   i_valExpr  varchar2(100) := 'haha';   i_branchNo varchar2(100) := '00'; begin   l_cnt := 'Ns_Gls_AutoVal(132,:1,:2,:3,:4)';   execute immediate 'select ' || l_cnt || ' from dual'     into aa     using i_curCode,i_vDate,i_valExpr,i_branchNo;   dbms_output.put_line(aa); end;

oracle 中execute immediate 是什? 可以不可以 用白话说一下?

简单来说 就是你一个存储过程当中 创建了一个表 table_a 然后要用insert into将其他的数据插入到这个table_a当中,但是因为你在创建过程的时候 table_a还不存在,过程就会显示有编译错误,因为table_a不存在必然导致过程无法执行,所以无法编译成功,而把insert into语句加如到 execute immediate之后 则oracle不会再去理会这个对象是否存在,因此可以成功编译和执行。
 

oracle中EXECUTE IMMEDIATE是什?怎使用,用自己理解的语言,通俗的解释出来,了各位

EXECUTE IMMEDIATE 一般用于 执行动态 SQL

例如:
SQL> BEGIN
2 EXECUTE IMMEDIATE ( 'SELECT * FROM test_dysql WHERE id=1' );
3 END;
4 /
PL/SQL procedure successfully completed.
参考资料:hi.baidu.com/...1.html
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3923.html NewsArticle oracle execute immediate,executeimmediate declare aa number ( 15 , 2 ); l_cnt varchar2 ( 200 ); i_yr int := 11 ; i_curCode varchar2 ( 100 ):= '001' ; i_vDate date := sysdate ; i_valExpr varchar2 ( 100 ):= 'haha' ; i_branchNo varchar2 ( 10...
评论暂时关闭