日期:2014-05-18  浏览次数:20485 次

数据库 触发器创建
在Borrow表上创建一个插入触发器,borrow_number.,当想borrow表中插入记录时,如果该读者所借图书数目不超过5时可以插入,否则不允许插入。
Borrow(BNO,RNO,Bdate)其中BNO为主码


------解决方案--------------------
你要在Borrow中创建触发器,然后插入值以后再判断要不要插入?
这个... 逻辑不对啊。

你应该在存储过程中判断,是不是需要插入表Borrow。

如果你要建成触发器,那么就是先插入表Borrow,然后触发器判断是不是应该插入,不应该就删除。邮电脱裤子放屁的意思啊。

触发器大致如下:
CREATE TRIGGER borrow_number
ON borrow
FOR INSERT
AS
BEGIN

IF (SELECT RNO FROM INSERTED)>=5
DELETE FROM borrow 
WHERE BNO = (SELECT BNO FROM INSERTED)

END
------解决方案--------------------
探讨

SQL code
CREATE TRIGGER tri_Insert_Borrow
ON Borrow
FOR insert
AS
IF EXISTS(SELECT 1 FROM Borrow b,inserted i where i.bno=b.bno group by b.bno having count(1)>5)
BEGIN
RAISERROR('所借图书数目已超过5!'……