【正文】
aBorrowBook] @bno nchar(20),@pbno nchar(12)as declare @btime datetime,@rbtime datetimeset @btime =(select getdate())set @rbtime=(dateadd(day,20,@btime))if (exists(select * from 圖書基本信息表,借書卡信息表where 圖書編號=@bno and 庫存數量0 and 20)) begin insert into 借閱信息表(圖書編號,讀者編號,借書時間,應還時間,是否超期) values(@bno,@pbno,@btime,@rbtime,39。否39。) update 圖書基本信息表 set 庫存數量=庫存數量1 where 圖書編號=@bno update 借書卡信息表 set 借書數量=借書數量+1 where 讀者編號=@pbno print 39。學號為:39。+str(@pbno)+39。在39。+convert(varchar(30),getdate(),111)+39。成功借閱圖書編號為:39。+str(@bno)+39。的圖書,請及時歸還39。endelse begin if (exists(select * from 圖書基本信息表,借書卡信息表,讀者類別表where 圖書編號=@bno and 庫存數量=0)) print 39。借書失敗,已經沒有庫存39。 else begin if (exists(select * from 圖書基本信息表,借書卡信息表,讀者類別表where 圖書編號=@bno and =20)) print 39。借書失敗,您的借書數量已達上限39。 else print 39。借書失敗39。 end end 觸發(fā)器 Warn 觸發(fā)器功能是當借閱信息表更新時觸發(fā),并列出已還書籍中超期的借閱信息,以便管理員做出處罰。 源代碼set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER trigger [warn] on [dbo].[借閱信息表]for updateasselect 圖書編號,讀者編號,借書時間,應還時間,歸還時間from 借閱信息表where 是否超期=39。是39。print 39。這些書已經超期了39。16