存储过程:一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中
存储过程和触发器都是SQL语句和流程控制语句的集合
本质上,触发器也是一种存储过程
优点:、
存储过程允许模块化程序设计:存储过程一旦创建,以后即可在程序中调用任意多次。并允许应用程序统一访问数据库。
加快运行速度:
第一次执行时进行编译并驻留在高速缓存中,以后再执行时,只需从高速缓存中调用已编译好的二进制代码,
第一次执行时进行编译并驻留在高速缓存中,以后再执行时,只需从高速缓存中调用已编译好的二进制代码,
减少网络通信流量:
存储过程存储在服务器上并在服务器上执行,网络上只传送存储过程执行的最终数据,大大减少了网络流量。
存储过程存储在服务器上并在服务器上执行,网络上只传送存储过程执行的最终数据,大大减少了网络流量。
作为安全性机制:
通过设置用户只能使用存储过程访问数据,限制用户不能直接操作数据库中的敏感数据,以保障数据的安全性。
通过设置用户只能使用存储过程访问数据,限制用户不能直接操作数据库中的敏感数据,以保障数据的安全性。
屏蔽
T-SQL
命令,提供交互查询的客户接口,增加数据库应用的方便性
T-SQL
命令,提供交互查询的客户接口,增加数据库应用的方便性
(1)系统存储过程:由系统提供的存储过程,前缀为
sq_ 可以在任何数据库中使用
sq_ 可以在任何数据库中使用
sp_addtype:创建用户定义的数据
sq_addlogin:创建登录
sq_help:查看数据库对象信息
sq_datebases:列出当前系统的数据库
(2)本地存储过程:在用户数据库中创建的存储过程,
完成特定的数据库操作
完成特定的数据库操作
(3)临时存储过程;”#”表示局部临时存储过程,“##”表示全局临时存储过程
(4)远程存储过程:从远程服务器上调用存储过程
(5)拓展存储过程:在SQL 环境之外执行的动态链接库
创建存储过程
创建存储过程需要确定三个部分:
(1)输入、输出参数
(1)输入、输出参数
(2)程序体
(3)返回给调用者的状态值(指明调用成功或失败)
创建语法格式:
create procedure
[(@para1 datatype [output]…)]
AS
proc——name: 存储过程名
@para1 过程中的参数
datatype: 参数的数据类型
sql_satements:T_SQL语句
例:创建一个存储过程,测试C01课程是否有人选
create procedure te
as
if exists(select * from sc where cno=’C01′)
print ‘课程C01有人选’
else
print ‘课程C01没人选’
go
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net