存储过程的概念

存储过程类似一个函数,可以执行一条或者多条SQL语句,可带参数,可返回值

为了简化操作,方便更改和扩展,将一个事件的处理封装在一个单元中供使用。

创建存储过程

--创建存储过程(不带参数的)
create proc sp_sample
as select * from sample --创建存储过程(带参数的)
create proc sp_insert_sample
@No char(10),
@name varchar(20),@age int
as insert into sample
values(@No,@name,@age) --更新记录的存储过程
create proc sp_updatebyid_sample
@id int,
@No char(10),
@name varchar(20),@age int
as update sample set No=@No,name=@name,age=@age
where id=@id --删除记录的存储过程
create proc sp_deletebyid_sample
@id int
as delete from sample where id=@id

执行存储过程

--执行过程
exec sp_selectall_sample --执行带参数的过程
exec sp_insert_sample '1001','小明',21 --执行更新
exec sp_updatebyid_sample 11,'1002','小华',18 --执行删除记录的存储过程
exec sp_deletebyid_sample 11

创建和执行带输出的存储过程

--带输出参数的存储过程
create proc sp_count_sample
@age int,
@num int output --输出的参数,接收的时候一定要声明
as select @num=COUNT(*) from sample where age=@age --执行带输出参数的存储过程
declare @num int --必须declare变量@num
exec sp_count_sample 18,@num output
select @num --用select输出

删除存储过程

drop proc sp_count_sample   

修改已经创建的存储过程

最新文章

  1. Android 5.X新特性之为RecyclerView添加下拉刷新和上拉加载及SwipeRefreshLayout实现原理
  2. MVC Razor语法
  3. 用户无法进入SDSF,报NO GROUP ASSIGNMENT错误
  4. 故障模块名称: mso.dll
  5. SDUT 2772 数据结构实验之串一:KMP简单应用
  6. Strom学习笔记一
  7. PHP 页面编码声明方法(header或meta)
  8. Ubuntu等Linux系统清除DNS缓存的方法
  9. Asp.Net请求响应过程
  10. Python selenium 三种等待方式详解
  11. Docker Demo on Docker
  12. DWM1000 Blink结构 -- 帧过滤第一节
  13. 查找第K小的数 BFPRT算法
  14. WTL中最简单的实现窗口拖动的方法(转)
  15. python搭建简单http文件服务器
  16. Python的自增运算符
  17. BootStrap的布局学习
  18. Lowest Common Ancestor in a Binary Tree
  19. Yii2 高级模板不使用Apache配置目录,将前后台入口移到根目录
  20. [模板]LIS(最长上升子序列)

热门文章

  1. BZOJ3732 (Kruskal重构树)
  2. CF 559C - Gerald and Giant Chess (组合计数)
  3. Redis常用指令之string、list、set、zset、hash
  4. iommu分析之---DMA remap框架实现
  5. spring接口多实现类,该依赖注入哪一个?
  6. 这次我设计了一款TPS百万级别的分布式、高性能、可扩展的RPC框架
  7. CCF NOI Online 2021 提高组 T3 岛屿探险(CDQ 分治,Trie 树)
  8. 通过宏封装实现std::format编译期检查参数数量是否一致
  9. 第一章 kubernetes概述
  10. 【多服务场景化解决方案】智能家居(UrbanHome)