問題敘述:
用 EXECUTE IMMEDIATE 動態往臨時表插入數據,跟蹤發現插入臨時表后數據會立馬清空,按理說等存儲過程執行完才會清空臨時表才對,現在是執行插入語句后下一步驗證就發現臨時表就沒有數據了,不知道什么原因,以前系統用着都是好的,這兩天突然就不行,請大神指導。
下面是存儲過程代碼:
v_sqlstr := v_sqlstr || v_condtion;
EXECUTE IMMEDIATE 'insert into wms_temp_meter_assign( meterid,barcode,boxcode,metertype,bincode,bline,brank,blayer,pilercode,isassign) ' || v_sqlstr;
v_count := SQL%ROWCOUNT;
v_billcode := pack_wms_utility.fu_wms_getbillcode('wms_wm_deliverybillmas',
v_wh_sort_code);
--判斷是否按品規條件找到表計
SELECT COUNT(meterid)
INTO v_count
FROM wms_temp_meter_assign;
IF (v_count = 0) THEN
SELECT COUNT(DISTINCT b.pilercode)
INTO v_count
FROM wms_pub_bin b
WHERE b.state = '0';
IF (v_count > 0) THEN
v_errormsg := '堆垛機故障出庫任務號:' || taskcur.io_task_no;
ELSE
v_errormsg := '按平台給的品規條件未能找到滿足條件的出庫表計信息,請檢查平台給予條件后一會再試!出庫任務號:' ||
taskcur.io_task_no;
END IF;
RAISE v_exception;
EXIT;