create or replace trigger oaSyncHr_trigger
after
update of FLOW_FLAG on workflow_file
for each row
declare
v_fieldNum varchar2(100);
v_fieldNumValue varchar2(100);
v_fieldNum_sql varchar2(2000);
begin
if (:new.FLOW_FLAG = 2)
then
if(:new.FLOW_ID = 40002022)
then
select flowfield.fieldserial into v_fieldNum from workflow_flowfield flowfield where flowfield.flowtype_id = 40000442 and flowfield.name = N'得分合計';
v_fieldNum_sql := 'update gztygtx set gzbxpgdf=(select w.fieldNum'|| v_fieldNum ||' from workflow_file w where w.id = 187004627 ) where nm=1';
execute immediate v_fieldNum_sql;
end if;
end if;
end;
運行時一直提示 execute immediate v_fieldNum_sql;這里錯誤,
把 v_fieldNum_sql的值直接拿出來運行又是成功的;
這是什么問題
uj5u.com熱心網友回復:
我要實作的功能是:A表中的欄位有fieldNum1到fieldNum30 現在在B表查到一個數字28,怎么去A表查fieldNum28的值
如果有其他解決的方法也可以
uj5u.com熱心網友回復:
你把 select w.fieldNum'|| v_fieldNum ||' from workflow_file w where w.id = 187004627 into 到另外一個變數然后用字串拼接
再execute immediate
v_fieldNum_sql := 'update gztygtx set gzbxpgdf=' ;
select w.fieldNum'|| v_fieldNum ||' INTO v_fieldNum_sql1 from workflow_file w where w.id = 187004627 ;
v_fieldNum_sql :=v_fieldNum_sql ||v_fieldNum_sql1 ||'where nm=1';
execute immediate v_fieldNum_sql ;
uj5u.com熱心網友回復:
報的什么錯?另外應該加一個commit顯示提交。uj5u.com熱心網友回復:
w.fieldNum'|| v_fieldNum ||' 改成 w.fieldNum||'''||v_fieldNum ||'''||'uj5u.com熱心網友回復:
w.fieldNum后少打個'轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/74939.html
標籤:開發
