USE 图书借阅管理
GO
CREATE PROC 借书过程
@借书证号 char(5),@图书名称 varchar(40),@作者 varchar(20)
AS
DECLARE @借阅号 int,@图书编号 varchar(6)
IF EXISTS (SELECT * FROM 图书信息
WHERE 图书名称=@图书名称 and 作者=@作者 and 状态=0)
BEGIN
BEGIN TRANSACTION
SELECT @图书编号=图书编号 FROM 图书信息
WHERE 图书名称=@图书名称 and 作者=@作者 and 状态=0
UPDATE 图书信息
SET 状态=1
WHERE 图书编号=@图书编号
IF @@error!=0
BEGIN
ROLLBACK TRANSACTION
PRINT '更新图书信息表失败。'
RETURN 1
END
SELECT @借阅号=借阅号
FROM 租借信息 ORDER BY 借阅号
IF @借阅号 is null
SET @借阅号=0
INSERT 租借信息(借阅号,借书证号,图书编号,借书日期) VALUES (@借阅号+1,@借书证号,@图书编号,getdate())
IF @@error!=0 ----------------
BEGIN --------------
ROLLBACK TRANSACTION -------------
PRINT '借书失败。' ------------------ 3
RETURN 3----------------------
END ----------------------------------
UPDATE 学生信息
SET 借书册数=借书册数+1
WHERE 借书证号=@借书证号
IF @@error!=0
BEGIN
ROLLBACK TRANSACTION
PRINT '更新学生信息失败。'
RETURN 4
END
COMMIT TRANSACTION
PRINT '恭喜您借书成功!图书编号是:'+@图书编号
RETURN 0
END
ELSE
BEGIN
PRINT '图书已经借出或没有。'
RETURN 2
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)