Oracle 存储过程中的临时表数据自动清空
问题叙述:
用 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;