SQL 存储过程

存储过程:一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中

存储过程触发器都是SQL语句流程控制语句的集合

本质上,触发器也是一种存储过程

优点:、

存储过程允许模块化程序设计:存储过程一旦创建,以后即可在程序中调用任意多次。并允许应用程序统一访问数据库。
加快运行速度: 第一次执行时进行编译并驻留在高速缓存中,以后再执行时,只需从高速缓存中调用已编译好的二进制代码,
减少网络通信流量: 存储过程存储在服务器上并在服务器上执行,网络上只传送存储过程执行的最终数据,大大减少了网络流量。
作为安全性机制: 通过设置用户只能使用存储过程访问数据,限制用户不能直接操作数据库中的敏感数据,以保障数据的安全性。
屏蔽 T-SQL 命令,提供交互查询的客户接口,增加数据库应用的方便性
(1)系统存储过程:由系统提供的存储过程,前缀为 sq_ 可以在任何数据库中使用
 sp_addtype:创建用户定义的数据
sq_addlogin:创建登录
sq_help:查看数据库对象信息
sq_datebases:列出当前系统的数据库
(2)本地存储过程:在用户数据库中创建的存储过程, 完成特定的数据库操作
  (3)临时存储过程;"#"表示局部临时存储过程,“##”表示全局临时存储过程
(4)远程存储过程:从远程服务器上调用存储过程
(5)拓展存储过程:在SQL 环境之外执行的动态链接库
创建存储过程
创建存储过程需要确定三个部分:
        (1)输入、输出参数
        (2)程序体
        (3)返回给调用者的状态值(指明调用成功或失败)
创建语法格式:
create procedure <proc_name>
[(@para1 datatype [output]...)]
AS <sql_statements>
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gangtianyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值