標籤:style blog http color ar 資料 div log sp
declarev_out varchar2(50);begin execute immediate ‘select p_guid from c_itcomp where rownum = 1 ‘ into v_out; dbms_output.put_line(v_out);end;
資料庫版本必須> =oracle 8i
直接的select語句是沒有用的,猜測因為select返回的是多行多列
可以執行DML,DDL等
如insert, update, create等
還可以綁定變數
如 STRSQL:=‘UPDATE TNAME SET COL1=:VARIABLE1 WHERE COLX=:VARIABLE2 ‘;
EXCUTE IMMEDIATE STRSQL USING VALUE1,VALUE2;
本文轉載自:http://blog.sina.com.cn/s/blog_5421dfd20100r29j.html
執行動態SQL語句或非運行時建立的PL/SQL塊.動態建立和執行SQL語句
EXECUTE IMMEDIATE -- 用法例子
1. 在PL/SQL運行DDL語句
begin
execute immediate ‘set role all‘;
end;
2. 給動態語句傳值(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;
3. 從動態語句檢索值(INTO子句)
declare
l_cnt varchar2(20);
begin
execute immediate ‘select count(1) from emp‘
into l_cnt;
dbms_output.put_line(l_cnt);
end;
(轉)Oracle執行字串