在图书馆管理系统中系统管理员可以进行的操作有:借、还、添加、删除、修改图书或添加、删除、修改读者等,很多的操作都涉及到多个表的进行,我们一定要保持数据的一致性。
如“删除读者”操作,会在读者表(READER)中进行读者的删除,该读者删除后,借书表(READER-BOOK)也没有必要再保留该读者的借书记录,也应删除。我们可以用下面的储存过程来实现事务的处理:
CREATE PROCEDURE updatauserdeleproc
@updatauserreaderid int
AS
declare @error1 int, @error2 int
begin tran
delete from reader where readerid=@updatauserreaderid
set @error1=@@error
delete from read_book where readerid=@updatauserreaderid
set @error2=@@error
if @error1=0 and @error2=0
commit tran
else
rollback tran
GO
如“删除读者”操作,会在读者表(READER)中进行读者的删除,该读者删除后,借书表(READER-BOOK)也没有必要再保留该读者的借书记录,也应删除。我们可以用下面的储存过程来实现事务的处理:
CREATE PROCEDURE updatauserdeleproc
@updatauserreaderid int
AS
declare @error1 int, @error2 int
begin tran
delete from reader where readerid=@updatauserreaderid
set @error1=@@error
delete from read_book where readerid=@updatauserreaderid
set @error2=@@error
if @error1=0 and @error2=0
commit tran
else
rollback tran
GO