PLSQL Dynamic SQL Using Bind Variat

来源:互联网 发布:淘宝拍下显示系统错误 编辑:程序博客网 时间:2024/05/16 12:48
CREATE OR REPLACE PROCEDURE get_name(    p_id IN NUMBER,    p_name OUT VARCHAR2)IS  v_name emp.first_name%type;BEGIN  EXECUTE immediate 'select first_name from emp where employee_id = :EMPID'  INTO v_name USING p_id;  p_name := v_name;END;//**この中の「:EMPID」という部分がバインド変数というものです。バインド変数の名前は特に決まったものはありませんが、先頭に必ずコロン(:)を付けます。そして、バインド変数の値はソースコード11行目のUSING句でバインド変数の値を指定します。バインド変数は、「変数」だから事前に宣言しないの?という疑問を持たれる方もいると思いますが、バインド変数は、PL/SQLプログラム(PL/SQLブロック)の外側に領域を持っている変数なので、PL/SQLブロック内で宣言することはありません。*/

DECLARE  p_name VARCHAR2(20);BEGIN  get_name(100,p_name);  dbms_output.put_line(p_name);END;

0 0
原创粉丝点击