SQL Server 7.0 入门(六)

2016-01-29 16:30 0 1 收藏

SQL Server 7.0 入门(六),SQL Server 7.0 入门(六)

【 tulaoshi.com - SQLServer 】

  建立存储过程体
       存储过程逻辑驻留在存储过程体中。一个存储过程体中可以包含任意条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)在需要一行一行处理时,游标十分有用。游标可以打开一个结果集合(按照指定的标准选择

来源:https://www.tulaoshi.com/n/20160129/1498780.html

延伸阅读
标签: ASP
  安装SQL Server 7.0之前,我如何得到一些相关的信息和阅读安装手册? 您可以在安装SQLServer 7.0之前,先启动SQLServer 7.0联机书籍 (sqlbol.chm), 建议您在安装之前先阅读联机书籍中"Getting Started(出发)"和"Installing SQL Server(安装SQL Server)"这两部分以获得更多信息。 运行SQL Server 7.0的系统...
Microsoft SQL Server 7.0安全问题 Microsoft Corporation 【「Microsoft SQL Server 7.0」以下简称「SQL Server 7.0」】 SQL Server 7.0 有哪几种安全模式? 两种:SQL Server和Windows NT(混合)及Windows NT only。SQL Server 和Windows NT相当于SQL Server 6.5版本的混合模式。Windows NT only相当于SQL Server 6.5 版本的信任模式...
在发现了global.asa+.htr的bug之后,往往sql server数据库的ID和密码以明文的形式暴露在我们眼前,(写程序时候应该注意啦!)我试过几个国内知名的网站,象蚁盟的, 都可以得到他的数据库密码。于是如何进一步取得数据库的控制权限成为我们关注的问题。 有的朋友常常有了密码确连不进对方主机,下面我来说说连接时候需要注意的问题和...
SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT 系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在...
标签: SQLServer
  SQL Server 7.0数据库的六种数据移动方法 本人从事的工作是数据库管理员,要维护多台服务器中的数据库,经常把某台服务器中的某个数据库移动到另外一台服务器,对数据的移动有些心得体会,希望和大家共同交流。 1. 通过工具DTS的设计器进行导入或导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多...

经验教程

160

收藏

54
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部