文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
SQL Server 不存在或访问被拒绝
未与信任SQL Server连接相关联的解决..
SQL Server数据库六种数据移动方法
提高数据库访问速度
如何在两个SQLSERVER之间数据同步
将ACCESS的数据库转化为SQL SERVER的..
动态创建SQL Server数据库、表、存储..
在SQL Server中寻找资料库的TABLE数量..
SQL Server 7.0储存过程调试指南
关于SQL Server 2000的安全配置
用SQL语句来建立跟踪的问题
SQL SERVER2000备份和恢复存储过程
将Excel中的数据导入到SQL Server 200..
SQL Server数据库文件恢复技术
千万级数据库高速分页显示
找出存放用户名和密码的表
SQL Server 7六种数据移动方法
SQL Server中读取XML文件的简单做法
SQL Server 2000中的触发器使用
SQL Server中各个系统表的作用
在SQL Server存储过程中执行DTS包
Sqlserver中的一些技巧
SQL Server 2005:数据类型最大值
SQL Server 存储过程的分页
SQL Server 中易混淆的数据类型
SQL Server 服务器安装剖析
SQL Server导出导入数据方法
SQL数据恢复问题深入剖析
SQLServer和Oracle常用函数对比
用SQL Server为Web浏览器提供图像(一..


技术教程 -> SQLserver教程 ->  
SQL Server 7.0 入门(六)
来源:转载   人气:327   录入时间:2007-11-8
    建立存储过程体
   存储过程逻辑驻留在存储过程体中。一个存储过程体中可以包含任意条Transact SQL语句。下面的Transact SQL语句不能在任何存储过程体中出现:
   · CREATE DEFAULT
   · CREATE TRIGGER
   · CREATE PROCEDURE
   · CREATE VIEW
   · CREATE RULE
   1、 局部变量
   局部变量保持存储过程中间值。当一个值在存储过程中需要多次,或者某个查询的结果需要在随后的查询中使用时,需要使用局部变量。在这些情形下,值被存储在局部变量中,并可用于将来的使用。本地变量的名称以“@”符号开头。变量的名称可以包含字符和数值。局部变量在使用前需要进行类型声明。对局部变量进行赋值需要使用SELECT语句。SELECT可以从一个表中检索出值并将其赋给某个变量,也可以给变量赋一个常量值。一个简单的SELECT语句可以给多个局部变量赋值。
   例如:
   DECLARE @var1 integer, @var2 varchar(20)
   SELECT @var1 = 32,
   @var2 = ‘MyAge’
   如果从SELECT查询中没有返回任何数据,而SELECT又要将数据的值赋予局部变量,则该局部变量的值将不会发生改变。
   2、 条件词句
   存储过程中提供的条件语句包括:
   · IF……ELSE语句。
   · WHILE语句。
   1) IF……ELSE语句。在该语句中包含三个部分:布尔运算表达式,IF语句块和ELSE语句块。语法如下:
   IF (boolen_expr)
   {statements}
   ELSE
   {statements}
   在IF或ELSE语句块中可以有多条语句,这种情形下,需要语句BEGIN和END来标志语句块。
   2) WHILE语句。WHILE语句用于处理直到某个条件为TRUE前重复执行的语句。语法如下:
   WHILE (boolen_expr)
   BEGIN
   statement(s)
   BREAK
   Statement(s)
   CONTINUE
   END
   BEGIN和END语句标志循环体。BREAK语句结束循环的执行(即走到END语句之后)。CONTINUE语句将控制处理过程回到循环的开始处(即BEGIN语句的右边)。
   注意:如果有两个或多个WHILE循环被嵌套,则内部的BREAK退出的是次外层的循环。内部循环结束之后的所有语句在内部循环执行之后才能继续执行。
   
   3、 GOTO语句
   在存储过程的执行中,语句是顺序执行的。GOTO语句则是用来打破这种语句执行的顺序,它立即跳到某条语句上执行,而这条语句往往不紧跟在前一语句之后。GOTO语句与一个标志(Label)一起使用,该标志用来标识一条语句。
   例如:
   USE pubs
   GO
   
   DECLARE @num int
   SELECT
   IF @num = 0
   GOTO Err
   ELSE
   BEGIN
   PRINT ‘authors found’
   SELECT * FROM authors
   GOTO Last
   END
   Err: PRINT ‘no authors found’
   Last: PRINT ‘Finish execution’
   GO
   4、 RETURN语句
   RETURN语句用于无条件的退出存储过程。RETURN之后的任何语句都不再执行。RETURN语句可以给调用语句返回一个值,但不能返回NULL值。SQL Server经常为存储过程返回一个状态值。如果成功地执行,则返回一个0,如果出现了错误,则返回一个为负数的错误码。
   存储过程返回的错误码
   值
   说 明
   值
   说 明
   
   0
   过程执行成功
   -8
   发生了非致命的内部问题
   
   -1
   漏掉了对象
   -9
   达到了系统极限
   
   -2
   发生了数据类型错误
   -10
   发生了致命的内部不一致错误
   
   -3
   该处理被选择成了死锁的牺牲者
   -11
   发生了致命的内部不一致错误
   
   -4
   发生了权限错误
   -12
   表或索引被破坏
   
   -5
   发生了语法错误
   -13
   数据库被破坏
   
   -6
   发生了混杂的用户错误
   -14
   发生了硬件错误
   
   -7
   资源错误,如空间不够等
   
   
   5、 使用游标(CURSOR)在需要一行一行处理时,游标十分有用。游标可以打开一个结果集合(按照指定的标准选择的行),并提供在结果集中一行一行处理的功能。基于游标的类型,可以对其进行回滚或者前进。在使用游标时需要5个步骤:
   
   




Copyright(C)2007-2025 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987