存储过程-1:基础

存储过程

1. 存储过程概述

存储过程(Stored Procedure)是预编译SQL语句集合
这些语句存储在一个名称(存储过程的名称)下并作为单元来处理
存储过程代替了传统的逐条执行SQL语句的方式,
一个存储过程中可以包含查询、插入、删除、更新等操纵的一系列SQL语句,当这个存储过程被调用执行时,这些操作也会同时执行。

  • 存储过程优点
    1. 存储过程可以嵌套使用,支持代码重用
    2. 存储过程可以接受与使用动态参数执行其中的SQL语句
    3. 存储过程比一般SQL语句执行速度快,存储过程在创建时就已经被编译,每次执行不需要重新编译,但是SQL语句每次执行需要重新编译
    4. 存储过程可以减少网络通讯流量

2. 管理存储过程

2.1 创建存储过程

-- 创建一个名为 Proc_Student 的一个存储过程
create proc Procedure Proc_Student
	@Proc_Son int
as
select * from Student where Sno = @Proc_Son

2.2 执行存储过程

存储过程创建完成之后,可以通过 EXECUTE 命令执行,或简写为 EXEC

-- 执行存储过程 Proc_Student
exec Proc_Student

2.3 查看存储过程

  1. 使用 sys.sql.modules 查看存储过程的定义
select * from sys.sql.modules
  1. 使用 OBJECT_DEFINITION 查看存储过程的定义
OBJECT_DEFINITION(object_id)
  1. 使用 sp_helptext 查看存储过程的定义
sp_helptext 'Proc_Student'

2.4 修改存储过程

修改存储过程可以改变存储过程当中的参数或语句,可以通过SQL语句中的ALTER PROCEDURE 语句实现。
虽然删除并重新创建存储过程也可以达到修改存储过程的目标,但是会丢失与该存储过程关联的所有权限

1.ALTER PROCEDURE 语句

该语句用来修改通过执行CREATE PROCEDURE语句创建的存储过程
修改存储过程时,不会更改权限,也不影响相关的存储过程或触发器

ALTER PROCEDURE [dbo][Proc_Student]
@Son varchar(10)
as 
select * from Student

2.5 重命名存储过程

– 将名为 Proc_Student 的存储过程更名为 Proc_StuInfo

sp_rename ‘Proc_Student’,‘Proc_StuInfo’

更改对象名的任一部分都可能破坏脚本和存储过程

2.6 删除名存储过程

-- 删除名为 Proc_Student 的存储过程
DROP PROCEDURE Proc_Student



Student表
create table Student(
	sno int primary key,
	sname varchar(50),
	sage int default 0,
	ssex char(1) default '男',
	phone char(11)
)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值