SQL Server数据库存储过程——以自定义存储过程为例

SQL Server数据库存储过程——以自定义存储过程为例

 1、什么是数据库存储过程

存储过程就是预编译SQL语句的集合,这些语句存储在一个名称下并作为一个单元处理。存储过程代替了传统的逐条执行SQL语句的方式

SQL server提供了三种类型存储过程:

系统存储过程:用户管理SQL server和显示有关数据库和用户信息的存储过程

自定义存储过程:用户在SQL server中通过采用SQL语句创建的存储过程,或者使用向导创建的存储过程。

扩展存储过程:通过编程语言(如C语言等)创建外部例程,并将这个例程在SQL server中作为存储过程使用。

本文使用的实例的数据表如下:

 

 2、存储过程的创建

 2.1 使用向导创建存储过程:在数据库的【可编程性】总找到【存储过程】,右键【新建存储过程】,SQL Server会自动给出一个存储过程的默认的模板。

 2.2使用SQL语句创建存储过程

--不带参数的存储过程,功能是选出所有女生的学号,姓名和性别
create procedure pro_femalestu_no@
as
SELECT Sno,Sname,Ssex
from Student
WHERE Ssex='f'

--创建带参数的存储过程,功能是选出学号为@proc_Sno的学生的姓名和年龄
create procedure proc_student_yes@
@proc_Sno int 
as
select Sname,Sage
from Student 
where Sno=@proc_Sno

  3、执行存储过程

--执行不带参数的存储过程
exec pro_femalestu_no@

--执行带参数的存储过程,需要传入参数的额值
exec proc_student_yes@       
@proc_Sno=2017072001

4、查看存储过程的定义

--查看数据库的存储过程,其中sys.sql_modules为系统视图,
select* from sys.sql_modules

--查看某一个具体的存储过程的定义
select OBJECT_DEFINITION(165575628)

5、修改存储过程

 方法1是在对应的存储过程右键修改,方法2是使用SQL语句修改

--修改带参数的proc_student_yes@存储过程的参数
alter procedure proc_student_yes@
@Sname varchar(10)
as 
select *  from Student  Where Sname=@Sname


--测试是否已经修改成功
exec proc_student_yes@
@Sname=‘gg’

6、删除存储过程

--删除proc_student_yes@这个存储过程
drop proc_student_yes@

--测试是否完成删除工作
exec proc_student_yes@
发布了21 篇原创文章 · 获赞 13 · 访问量 3645

猜你喜欢

转载自blog.csdn.net/weixin_40695088/article/details/90215814