存储过程和触发器的概念(上)

一、存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQL Server 2005 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。
二、存储过程的种类

1系统存储过程

  以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。

2本地存储过程

  用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。

3临时存储过程

  分为两种存储过程:
  一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;
  二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。

4远程存储过程

  在SQL Server2005中,远程存储过程(Remote Stored Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。

5 扩展存储过程

  扩展存储过程(Extended Stored Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。
三、基本语法
1.创建存储过程
create procedure sp_name
  @[参数名] [类型],@[参数名] [类型]
  as
  begin
  .........
  end
  以上格式还可以简写成:
  create proc sp_name
  @[参数名] [类型],@[参数名] [类型]
  as
  begin
  .........
  end
  /*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/
2.调用存储过程

基本语法:exec sp_name [参数名]

3.删除存储过程
a.基本语法:
  drop procedure sp_name
  b.注意事项
  (1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
四.其他常用命令
  1.show procedure status
  显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
  2.show create procedure sp_name
  显示某一个mysql存储过程的详细信息
  3、exec sp_helptext sp_name
  显示你这个sp_name这个对象创建文本


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值