CREATE OR REPLACE TRIGGER tr_check
BEFORE INSERT ON Shelf_Reading FOR EACH ROW WHEN(new.readpointID=004 or new.readpointID=005)
DECLARE
v_eventID1 NUMBER;
v_eventID2 NUMBER;
BEGIN
SELECT max(eventID) INTO v_eventID1 from checkout;
if v_eventID1 is null then
v_eventID2:=1;
else
set v_eventID2:=v_eventID1+1;
end if;
INSERT INTO checkout VALUES(:v_eventID2,001,:new.readpointID,005,003,:new.epc,0.8,005,sysdate,sysdate);
UPDATE Voc_epcobject
SET statu='已售'
WHERE ecp=new.epc;
END tr_check;
/
报的错
9/6 PL/SQL: SQL Statement ignored
9/10 PL/SQL: ORA-00922: 选项缺失或无效
11/31 PLS-00049: 错误的赋值变量 'V_EVENTID2'
BEFORE INSERT ON Shelf_Reading FOR EACH ROW WHEN(new.readpointID=004 or new.readpointID=005)
DECLARE
v_eventID1 NUMBER;
v_eventID2 NUMBER;
BEGIN
SELECT max(eventID) INTO v_eventID1 from checkout;
if v_eventID1 is null then
v_eventID2:=1;
else
set v_eventID2:=v_eventID1+1;
end if;
INSERT INTO checkout VALUES(:v_eventID2,001,:new.readpointID,005,003,:new.epc,0.8,005,sysdate,sysdate);
UPDATE Voc_epcobject
SET statu='已售'
WHERE ecp=new.epc;
END tr_check;
/
报的错
9/6 PL/SQL: SQL Statement ignored
9/10 PL/SQL: ORA-00922: 选项缺失或无效
11/31 PLS-00049: 错误的赋值变量 'V_EVENTID2'
BEFORE INSERT ON Shelf_Reading
FOR EACH ROW
WHEN (:new.readpointID = 004 or :new.readpointID = 005)
DECLARE
v_eventID1 NUMBER;
v_eventID2 NUMBER;
BEGIN
SELECT max(eventID) INTO v_eventID1 from checkout;
if v_eventID1 is null then
v_eventID2 := 1;
else
set v_eventID2 := v_eventID1 + 1;
end if;
INSERT INTO checkout
VALUES
(v_eventID2,
001,
:new.readpointID,
005,
003,
:new.epc,
0.8,
005,
sysdate,
sysdate);
UPDATE Voc_epcobject SET statu = '已售' WHERE ecp = :new.epc;
END tr_check;