日期:2014-01-27 浏览次数:20721 次
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个步骤: