我的数据库中有这张表:
预订(人数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 删除了这一行。