介紹 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:動態取得多筆資料.