v_sql := 'insert into table(billid)values('''|| v_billid ||''');
execute immediate v_sql;
這個SQL可以正常執行,但是現在有一個翻譯函式
create or replace function ba_bgt_fun_getelementcode(in_itemid in number,
in_element in varchar2,
in_dbyear in varchar2)
第一個是變數數值,第二個是一個固定字符,第三個是一個變數年度。
v_sql := 'insert into table(code)values(ba_bgt_fun_getelementcode('''||v_billid ||''',''billid'','''|| v_dbyear ||'''))';
execute immediate v_sql;
提示缺少運算式,請問哪里錯了。
uj5u.com熱心網友回復:
-- 建議使用這種引數化的形式。begin
execute immediate 'insert into test values(:1)' using 'eee';
end;
uj5u.com熱心網友回復:
v_sql := 'insert into table(code) SELECT ba_bgt_fun_getelementcode('''||v_billid ||''',''billid'','''|| v_dbyear ||''') FROM DUAL ';execute immediate v_sql;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/195436.html
標籤:開發
