介紹 Orale Dynamic SQL 如何動態執行 block 區塊, 也就是所謂的 begin ~ end;
參考範例, 如下 :
程式碼
declare
v_sql varchar2(255) := 'declare' ||
' v_num number := 20; ' ||
' v_chr varchar2(100); ' ||
'begin ' ||
'v_num := v_num + 100; ' ||
' v_chr := ''aaa''; ' ||
':a1 := v_num; ' ||
':a2 := v_chr; ' ||
'end;';
v_data number;
v_char varchar2(100);
begin
execute immediate v_sql using out v_data, out v_char;
dbms_output.put_line( 'v_data = ' || to_char( v_data ) );
dbms_output.put_line( 'v_char = ' || v_char );
end;
-- 執行結果
v_data = 120
v_char = aaa
其他 Dynamic SQL 介紹文章 :
Dynamic SQL 基礎:Dynamic SQL 基本語法.
進階 1:動態執行 Procedure / Function.
進階 2:動態取得多筆資料.
