SQL数据库存储过程(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CharmingDang/article/details/78422031
存储过程的概念
在SQL Server中,可以定义子程序存放在数据库中,这样的子程序称为存储过程,存储过程是数据库对象之一。
存储过程的特点:
(1)存储过程在服务器端运行,执行速度快。
(2)存储过程执行一次后,其执行驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
(3)确保数据库的安全。使用存储过程可以完成所有的数据库操作。
(4)降低网络负载,提高效率。
(5)可以接受用户参数,亦可返回参数
存储过程的类型:
SQL Server支持以下几种类型的存储过程
1、系统存储过程(以“sp_”为前缀,存储master里)
2 、本地存储过程(存储在用户定义的数据库中)
3、扩展存储过程(以“xp_”为前缀,存储在master里)
4、临时存储过程(名字以#开头)
注意:用户定义存储过程不能以sp /xp 开头
创建存储过程
语法格式:
create procedure 存储过程名
as
sql语句
执行存储过程
语法:
exec 存储过程名
修改存储过程
语法:
alter proc 存储过程名
as
sql语句
删除存储过程
语法:
drop procedure存储过程名
查看存储过程
sp_helptext查看存储过程的定义
sp_help查看存储过程的有关信息
sp_depends查看存储过程所依据的对象.
sp_rename 存储过程原名,存储过程新名
存储过程中参数的使用
存储过程可以带一个或多个输入参数,输入参数是指由调用程序向存储过程传递的参数,它们在创建存储过程语句中被定义,在执行存储过程中给出相应的参数值。
语法:
create procedure存储过程名
(@参数名 数据类型[=默认值] [,...n])
AS 
sql语句
执行带参数的存储过程
使用参数名传递参数值
语法:
EXECUTE 存储过程名 [@参数名=参数值] [,...n]
例:execute p_a @sname=‘aaa',@pwd='123' 
按参数位置传递参数值
语法:
EXECUTE 存储过程名   参数值1,参数值2
例: execute p_a ‘aaa','123
加密存储过程
存储过程也可通过权限设置,来控制各种用户的执行操作,还可加密来保证存储过程创建文本的安全,加密方法同视图
create proc p_mi
(
参数组
)
with encryption--加密
As
sql语句

带输出参数的存储过程
如果需要从存储过程中返回一个或多个值,可以通过在创建存储过程的语句中定义输出参数来实现,为了使用输出参数,需要在CREATE PROCEDURE语句中指定OUTPUT关键字
语法:
CREATE PROCEDURE 存储过程名
@参数名 数据类型  OUTPUT [,...n]
AS 
SQL语句

猜你喜欢

转载自blog.csdn.net/CharmingDang/article/details/78422031