oracle10g中的触发器插入
这是我在bids表中输入数据的代码,其属性为item id。有一个表项的属性也是item id。我做了这个触发器,仅当该项未售出时才输入数据oracle10g中的触发器插入,oracle,plsql,database-trigger,Oracle,Plsql,Database Trigger,这是我在bids表中输入数据的代码,其属性为item id。有一个表项的属性也是item id。我做了这个触发器,仅当该项未售出时才输入数据 CREATE OR REPLACE TRIGGER TIG FOR BIDS FOR EACH ROW DECLARE N_CNT NUMBER (1); BEGIN SELECT COUNT(*) INTO N_CNT FROM ITEM WHERE ITEM_ID = :NEW.ITEM_ID
CREATE OR REPLACE TRIGGER TIG FOR BIDS FOR EACH ROW
DECLARE
N_CNT NUMBER (1);
BEGIN
SELECT COUNT(*)
INTO N_CNT
FROM ITEM
WHERE ITEM_ID = :NEW.ITEM_ID
AND ITEM.STATUS='SOLD';
IF N_CNT=1 THEN
DBMS_OUTPUT.PUT_LINE('ALREADY SOLD');
END IF;
END;
它给出了错误
Pl/SQL:第4行:忽略SQL语句。伊贝京
在插入前为每行创建或替换触发器TIG 还是在之后而不是之前
或者更新,删除,而不是插入
投标
应该类似于触发器声明中插入投标前的部分。我尝试过但没有效果您尝试过什么,以及“没有效果”是什么意思?显示您尝试的代码和错误,如果您在每一行的投标前收到任何创建或替换触发器TIG,请声明N_CNT编号(1);开始从ITEM_ID=:NEW.ITEM_ID和ITEM.STATUS='sall'中的ITEM选择COUNT(*)进入N_CNT;如果N_CNT=1,则DBMS_OUTPUT.PUT_LINE('已售出');如果结束;结束;你说没有效果是什么意思?。当我尝试时,它编译得非常完美。