oracle 动态sql带入参和出参

代码示例:

-- Created on 2021/7/6 by YUBL 
declare 
  sql_cmd varchar2(2000);
  m number(4);
  n number(4);
  x number(4):=12;
  y number(4):=10;
begin

   sql_cmd:='
   declare 
   BEGIN
   select :x+:y/2,:y-:x into :m,:n from dual;
   END;'
   ;
   execute immediate sql_cmd using y,x,out m,out n;
   dbms_output.put_line(m);
   dbms_output.put_line(n);
  
end;

输出结果:

16

2

说明:入参和出参是按在sql_cmd中的":参数名" 出现的顺序进行赋值的。所以动态sql中的:x 实际为入参y的值:10,sql中的:y实际为入参x的值:12

出参m,n 也是一样。

 

posted @ 2021-07-06 13:19  踏叶乘风  阅读(1348)  评论(0编辑  收藏  举报