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, ...
作者: correct
出处:https://www.cnblogs.com/correct/p/12861993.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现