读书人

如其’馆内剩余本数‘为0或者当前可

发布时间: 2012-12-17 09:31:40 作者: rapoo

如果’馆内剩余本数‘为0,或者当前可借数为0,则回滚
如果’馆内剩余本数‘为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

------其他解决方案--------------------


引用:
SQL code12345678create TRIGGER for_insert_jieyue ON [dbo].[借阅信息表] FOR INSERT AS BEGIN IF EXISTS (SELECT 1 FROM dbo.图书资料表 WHERE 图书编号 IN ( SELECT 图书编号 FROM inserte……

这个用法还没学,不错,经试验正确

读书人网 >SQL Server

热点推荐