我有3张桌子:
我尝试编写触发器,以检查是否有新雇员插入Onproject,到期日从起始日起大于一个月,如果没有返回错误消息,并且该记录将不会添加到表中。
我尝试过
CREATE TRIGGER T1 BEFORE INSERT ON Onproject FOR EACH ROW EXECUTE PROCEDURE trigf1(); create or replace function trigf1() returns trigger as $BODY$ BEGIN IF (DATE_PART('day', NEW.fdate::date) - DATE_PART('day', duedate::date) > 30) THEN insert into Onproject values (NEW.pid, NEW.eid, NEW.fdate) else rais notice 'adding employee to the project failed, less then one month to due date.' end if end $BODY$ LANGUAGE PLPGSQL VOLATILE
但是触发器不知道Duedate字段和Project表。
如何使用Project和Onproject表创建触发器?
我有3个表:Employee(eid,ename,薪水,工作,分类)Project(pid,pname,did,预算,到期日期)Onproject(pid,eid,fromdate)我尝试编写触发器来检查插入的新...
您没有从触发器返回任何内容。如果希望INSERT继续进行,只需返回new
行,如果希望它失败,则需要引发错误。