0
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

テーブルの 1 つに対して作成したトリガー。基本的には2つのテーブルが含まれます。1つはproiecte(プロジェクト)、もう1つはparticipari(参加)です。プロジェクト テーブルには、プロジェクト ID、プロジェクトの名前、および期限があります。参加には、プロジェクト ID (外国人)、参加者の名前、from および to (時間間隔、それぞれをマークする 2 つの異なる列) があります。最後にエラー、構文エラーが表示され、頭を包むことができません。誰でも私を助けることができますか?

4

1 に答える 1

3

if2 番目の句のアクションが欠落しているようです。

IF(
  EXISTS(
    SELECT * FROM ...
    UNION
    SELECT * FROM ...
  )
)
-- do what?
于 2013-06-08T01:52:24.860 に答える