------------------- -------------------------------------------------------
这里,我想执行存储过程的时候,顺便调另外一个存储过程,向某表插一条数据,调试下来正常,但当客户端运行时,就是无法将该条数据插进表里,谢谢大家,两日内,在线跪求答案
OPEN tnt_conpiece(strunit_no);
loop
FETCH tnt_unit
INTO v_unit;
EXIT WHEN tnt_unit%NOTFOUND;
PK_ADDHIST.SP_CONPICSTATHIST(
v_conpiece.Consignment_no,
v_conpiece.Piece_no,
strSeq,
strdepotid,
'COMM',
null,
'解包: Unit_Ref:'|| v_unit.Unit_Ref,
struserid
);
end loop;
-----------------------------------------------------------------------------
--根据strUnit_no--的一条记录更新TB_CON_PIECE表
UPDATE tb_con_piece
SET unit_no = NULL, current_depot_id = strdepotid
WHERE unit_no = strunit_no;
----------------------
CLOSE tnt_conpiece;
----------------------
--根据strUnit_no更新TB_UNIT表
UPDATE tb_unit
SET unit_status = 'CL',
deallocate_dt = SYSDATE,
deallocated_by = struserid
WHERE unit_no = strunit_no;
ELSE
--如果unit_status等于'CL',重新循环执行下一个Unit_No
IF v_unit.unit_status <> 'CL' THEN
--如果sector_no不为空or如果current_depot_id不等于strDepotId
IF NOT (v_unit.sector_no IS NULL) OR
v_unit.current_depot_id <> strdepotid THEN
strerrunit_nos := strerrunit_nos || strunit_no || ',';
END IF;
END IF;
END IF;
END LOOP;
-------------------
CLOSE tnt_unit;
-------------
intbgn := intnxt + 1;
ELSE
intbgn := intend + 1;
END IF;
END LOOP;
COMMIT;
EXCEPTION
--存储过程异常
WHEN OTHERS THEN
ROLLBACK;
strerror := substr(SQLERRM, 1, 200);
END;
END pk_unitdeallocating;
主要看虚线扩起来的部分
这里,我想执行存储过程的时候,顺便调另外一个存储过程,向某表插一条数据,调试下来正常,但当客户端运行时,就是无法将该条数据插进表里,谢谢大家,两日内,在线跪求答案
OPEN tnt_conpiece(strunit_no);
loop
FETCH tnt_unit
INTO v_unit;
EXIT WHEN tnt_unit%NOTFOUND;
PK_ADDHIST.SP_CONPICSTATHIST(
v_conpiece.Consignment_no,
v_conpiece.Piece_no,
strSeq,
strdepotid,
'COMM',
null,
'解包: Unit_Ref:'|| v_unit.Unit_Ref,
struserid
);
end loop;
-----------------------------------------------------------------------------
--根据strUnit_no--的一条记录更新TB_CON_PIECE表
UPDATE tb_con_piece
SET unit_no = NULL, current_depot_id = strdepotid
WHERE unit_no = strunit_no;
----------------------
CLOSE tnt_conpiece;
----------------------
--根据strUnit_no更新TB_UNIT表
UPDATE tb_unit
SET unit_status = 'CL',
deallocate_dt = SYSDATE,
deallocated_by = struserid
WHERE unit_no = strunit_no;
ELSE
--如果unit_status等于'CL',重新循环执行下一个Unit_No
IF v_unit.unit_status <> 'CL' THEN
--如果sector_no不为空or如果current_depot_id不等于strDepotId
IF NOT (v_unit.sector_no IS NULL) OR
v_unit.current_depot_id <> strdepotid THEN
strerrunit_nos := strerrunit_nos || strunit_no || ',';
END IF;
END IF;
END IF;
END LOOP;
-------------------
CLOSE tnt_unit;
-------------
intbgn := intnxt + 1;
ELSE
intbgn := intend + 1;
END IF;
END LOOP;
COMMIT;
EXCEPTION
--存储过程异常
WHEN OTHERS THEN
ROLLBACK;
strerror := substr(SQLERRM, 1, 200);
END;
END pk_unitdeallocating;
主要看虚线扩起来的部分
loop
FETCH tnt_unit
INTO v_unit;
EXIT WHEN tnt_unit%NOTFOUND;
PK_ADDHIST.SP_CONPICSTATHIST(
v_conpiece.Consignment_no,
v_conpiece.Piece_no,
strSeq,
strdepotid,
'COMM',
null,
'解包: Unit_Ref:'|| v_unit.Unit_Ref,
struserid
);
end loop;
-----------------------------------------------------------------------------
--根据strUnit_no--的一条记录更新TB_CON_PIECE表
UPDATE tb_con_piece
SET unit_no = NULL, current_depot_id = strdepotid
WHERE unit_no = strunit_no;
----------------------
CLOSE tnt_conpiece;
----------------------