if (exists (select * from sysobjects where xtype='tr' and name='trig'))
drop trigger trig1
go
create trigger trig1 on participari
after insert,update,delete
as
begin
if (exists (select * from deleted))
rollback
if (exists (select * from inserted,proiecte
where inserted.idpr = proiecte.idpr
and deadline<dela union
select * from inserted,proiecte
where inserted.idpr = proiecte.idpr and inserted.panala>proiecte.deadline))
end
我为其中一个表创建的触发器。基本上它涉及2个表。一个是“proiecte”(项目),另一个是“participari”(参与)。 projects 表包含项目 ID、项目名称和截止日期。参与有项目 ID(外国)、参与者姓名、从和到(时间间隔,每个标记有 2 个不同的列)。它最后给了我一个错误,一个语法错误,我无法理解它。谁能帮帮我?
最佳答案
您似乎缺少对第二个 if
子句的任何操作。
IF(
EXISTS(
SELECT * FROM ...
UNION
SELECT * FROM ...
)
)
-- do what?
关于mysql - SQL - 触发器和意外事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16995193/