如果’馆内剩余本数‘为0,或者当前可借数为0,则回滚提示错误如下:
消息 156,级别 15,状态 1,过程 for_insert_jieyue,第 9 行
关键字 'or' 附近有语法错误。
消息 102,级别 15,状态 1,过程 for_insert_jieyue,第 14 行
')' 附近有语法错误。
代码如下
create TRIGGER for_insert_jieyue ON [dbo].[借阅信息表]
FOR INSERT
AS
BEGIN
IF EXISTS ( (SELECT 1
FROM dbo.图书资料表
WHERE 图书编号 IN ( SELECT 图书编号
FROM inserted )
AND 馆内剩余本数 IN ( '0' )) or
(SELECT 1
FROM dbo.读者信息表
WHERE 读者编号 IN ( SELECT 读者编号
FROM inserted )
AND 当前可借数 IN ( '0' )))
rollback
END
------最佳解决方案--------------------
create TRIGGER for_insert_jieyue ON [dbo].[借阅信息表]
FOR INSERT
AS
BEGIN
IF EXISTS (SELECT 1 FROM dbo.图书资料表 WHERE 图书编号 IN ( SELECT 图书编号 FROM inserted) AND 馆内剩余本数 IN ( '0' ))
OR EXISTS (SELECT 1 FROM dbo.读者信息表 WHERE 读者编号 IN ( SELECT 读者编号 FROM inserted ) AND 当前可借数 IN ( '0' ))
rollback
END
------其他解决方案--------------------