使用带触发器的事务

时间:2013-03-11 12:00:23

标签: sql-server triggers

我的数据库中有这个表:

预订(num PK,房间号,预订日期)

我想在预订之前,检查房间是否没有使用触发器。

这是我试过的脚本:

ALTER TRIGGER Verifier_chambre_prise ON reservation
INSTEAD OF INSERT
AS
    BEGIN

        IF EXISTS ( SELECT * FROM reservation
                    WHERE [room number] = (SELECT [room number] FROM INSERTED)
                    AND [reservation date] = (SELECT [reservation date] FROM INSERTED))
            ROLLBACK TRANSACTION
        ELSE
                        INSERT INTO reservation  SELECT * FROM INSERTED
    END

当我添加一个它存在的预留时,它会给我一个错误,其中事务已经停止了操作,但问题是当我尝试添加一个有[预约日期]和[房间]的行时数字]已经存在于表中,此行已删除,我不知道为什么sql server会删除此行。

0 个答案:

没有答案