代碼示例:
-- 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 也是一樣。