图书表
BookID char(15) Unchecked
ISBN char(10) Checked
BookName nvarchar(20) Checked
Author nvarchar(20) Checked
PulishDate datetime Checked
Pulisher nvarchar(20) Checked
IsCancel int Checked
BookTypeID char(10) Checked注销表
CancelID int Unchecked
BookID char(15) Checked
CancelDate datetime Checked须要一个存储过程注销后‘注销表’里有记录,怎么写来着?
BookID char(15) Unchecked
ISBN char(10) Checked
BookName nvarchar(20) Checked
Author nvarchar(20) Checked
PulishDate datetime Checked
Pulisher nvarchar(20) Checked
IsCancel int Checked
BookTypeID char(10) Checked注销表
CancelID int Unchecked
BookID char(15) Checked
CancelDate datetime Checked须要一个存储过程注销后‘注销表’里有记录,怎么写来着?
@bookid char(15),
@cancleid int
as
begin
--Book图书表
--Destory注销表
begin TRANSACTION T
delete from Book where BookID=@bookid
insert into Destory(CancelID,BookID,CancelDate)values(@cancleid,@bookid,getdate())
commit TRANSACTION T
end
@bookid char(15),
@cancleid int
as
begin
--Book图书表
--Destory注销表
begin TRANSACTION T
update Book set IsCancel=1 where BookID=@bookid--刚才没有看以这个字段,那这里应该是更新下
insert into Destory(CancelID,BookID,CancelDate)values(@cancleid,@bookid,getdate())
commit TRANSACTION T
end
顶,不过想一楼说的,你可以先删除引用了改BookID的所有记录,或者如果BookID是主键的话,你也可以在SQL里面设置一下自动更新数据
@bookid varchar(15)
as
begin
begin TRANSACTION T
insert into Destory(CancelID,BookID,CancelDate)
select iscancel,@bookid,getdate())
delete from Book where BookID=@bookid
commit TRANSACTION T
end
直接设置他应该就可以了吧。