SQL Server 7.0 入门(六)[MSSQL防范]
本文“SQL Server 7.0 入门(六)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
成立存储历程体
存储历程逻辑驻留在存储历程体中.一个存储历程体中可以包含肆意条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个步骤:
以上是“SQL Server 7.0 入门(六)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |