SQL存储过程的创建和使用

存储过程创建

create procedure 存储过程名
as
sql语句

 

go
create procedure bookbooks(@bno int, @sno varchar(12))
as
begin transaction
declare @state int
select @state = Bstate from book where Bno = @bno
if @state in (1 ,3)
	begin
		rollback
	end
else if @state = 0
	begin
		update book set Bstate = 1 where Bno = @bno
		insert into Bbook 
		(Bdate, Bno, Sno)
		values
		(GETDATE(), @bno, @sno)
	end
else if @state = 2
	begin
		update book set Bstate = 3 where Bno = @bno
		insert into Bbook 
		(Bdate, Bno, Sno)
		values
		(GETDATE(), @bno, @sno)
	end
commit
go

go
create procedure renwebook(@bno int, @sno varchar(12), @aid varchar(12))
as
begin transaction
	declare @state int
	select @state = bstate from book where Bno = @bno
	if(@state in (0, 1, 3))
		begin
			rollback
		end
	else if(@state = 2)
		begin
			insert into Rbook
			(Aid, Bdate, Bno, Sno)
			values
			(@aid, GETDATE(), @bno, @sno)
			update book set Bstate = 3 where Bno = @bno
		end
commit
go

存储过程使用

exec dbo.bookbooks 参数1 = 值1, 参数2 = 值2, ... 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值