CREATE OR REPLACE PROCEDURE PROC_DELETE_CAN_ITEM
(
CAN_ITEM_IDS IN VARCHAR2,
RETURNVALUE OUT INT
)
IS
ERRORCOUNT INT;
VAR_CAN_ITEM_ID INT;
VAR_IDS VARCHAR2(200);
BEGIN
RETURNVALUE:=0;
WHILE instr(CAN_ITEM_IDS,',')>0 LOOP
BEGIN
VAR_CAN_ITEM_ID:=SUBSTR(VAR_IDS,1,INSTR(VAR_IDS,',')-1);
--刉壺CAN_ITEM
UPDATE CAN_ITEM SET VALID=0 WHERE CAN_ITEM_ID=VAR_CAN_ITEM_ID;
--刉壺AUTO_MODEL_CAN_ITEM
DELETE FROM AUTO_MODEL_CAN_ITEM WHERE CAN_ITEM_ID=VAR_CAN_ITEM_ID;
--刉壺CURRENT_CAN_ITEM
DELETE FROM CURRENT_CAN_ITEM WHERE CAN_ITEM_ID=VAR_CAN_ITEM_ID;
VAR_IDS:=SUBSTR(CAN_ITEM_IDS,INSTR(CAN_ITEM_IDS,',')+1,LENGTH(CAN_ITEM_IDS)-INSTR(CAN_ITEM_IDS,','));
END;
END LOOP;
--刉壺CAN_ITEM
UPDATE CAN_ITEM SET VALID=0 WHERE CAN_ITEM_ID=CAN_ITEM_IDS;
--刉壺AUTO_MODEL_CAN_ITEM
DELETE FROM AUTO_MODEL_CAN_ITEM WHERE CAN_ITEM_ID=CAN_ITEM_IDS;
--刉壺CURRENT_CAN_ITEM
DELETE FROM CURRENT_CAN_ITEM WHERE CAN_ITEM_ID=CAN_ITEM_IDS;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURNVALUE:=1;
RETURN;
END;