Chinaunix首页 | 论坛 | 博客
  • 博客访问: 163893
  • 博文数量: 46
  • 博客积分: 2981
  • 博客等级: 少校
  • 技术积分: 475
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-01 12:43
文章分类

全部博文(46)

文章存档

2010年(4)

2009年(9)

2008年(33)

我的朋友

分类: 数据库开发技术

2008-04-02 17:06:52

1.存储过程的概念
  所谓存储过程是指封装了服务器中T-SQL语句集合的数据库对象,封装这些语句的目的是便于日后重复使用。尽管存储过程使用非过程的T-SQL语句,但是它们在本质上是属于过程的。
  所有主要的编程结构:
  • 变量
  • 数据类型
  • 输入/输出参数
  • 返回值
  • 条件执行
  • 循环
  • 注释

2.存储过程的结构
  存储过程的代码由头部和主体组成。存储过程的头部定义了存储过程的外部属性--名称和包含一个或多个参数的参数列表。参数名称必须以@字符开始。开发人员还必须定义每个参数的数据类型。头部必须以Create Procedure关键字开始,以as关键字结尾。
  存储过程的主体包含存储过程运行时将要执行的各个T-SQL语句。

3.注释
  两种注释方法:1 -- 2 /* */

 

4.重新编译存储过程

  强制编译,可以使用sp_recompile:

  exec sp_recompile prListOrders

  注:在你往表中添加了一个索引之后,不要忘了重新编译相关对象,否则,SQL SERVER将不能使用它们。

  还可以使用with recompile选项:

  create procedure prListOrders

      @Country char(3)

  with recompile

  as

      select * from Orders

      where Country = @Country

5.查看存储过程的源码
  存储过程的源代码在syscomments系统表中(除非存储过程被加密了)。为了查看源代码,可执行sp_helptext 或直接查询syscomments系统表。如:
  exec sp_helptext sp_cdc_enable_db
  或
  select * from sys.syscomments
 
阅读(616) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~