存储过程与外键冲突
W酱 2012-07-16 12:17:44 请帮忙看看以下这段语句,错误信息是:
INSERT 语句与 FOREIGN KEY 约束"FK_borrow_book"冲突。该冲突发生于数据库"Library",表"dbo.book", column '图书条码'。
但是如果把insert和update语句提出来单独运行,却没有发生外键冲突,表也被成功修改了。请问这是怎么回事呢?
CREATE PROC borrow_book
@Aid CHAR(11), @Rid CHAR(11), @Bid CHAR(4)
AS
BEGIN
INSERT dbo.borrow
( 图书条码 ,
读者ID ,
借书日期 ,
还书日期 ,
是否过期 ,
管理员ID
)
VALUES ( @Bid , -- 图书条码 - char(11)
@Rid , -- 读者ID - char(11)
GETDATE(), -- 借书日期 - date
DATEADD(MONTH, 2, GETDATE()), -- 还书日期 - date
'否' , -- 是否过期 - char(2)
@Aid -- 管理员ID - char(11)
)
UPDATE book
SET 图书状态 = '借出'
WHERE 图书条码 = @Bid
END