购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.4 其他基本语句

T-SQL中除了这些重要的数据定义、数据操作和数据控制语句之外,还提供了一些其他的基本语句,以此来丰富T-SQL语句的功能。本节将介绍数据声明、数据赋值和数据输出语句。

4.4.1 数据声明DECLARE语句

数据声明语句可以声明局部变量、游标变量、函数和存储过程等,除非在声明中提供值,否则声明之后所有变量将初始化为NULL。可以使用SET或SELECT语句对声明的变量赋值。DECLARE语句声明变量的基本语法格式如下:

     DECLARE
     {{ @local_variable [AS] data_type } | [ = value ] }[,...n]

【例4.19】声明两个局部变量,名称为username和pwd,并为这两个变量赋值,输入语句如下。

     DECLARE @username VARCHAR(20)
     DECLARE @pwd VARCHAR(20)
     SET    @username = 'newadmin'
     SELECT @pwd = 'newpwd'
     SELECT '用户名:'+@username +'  密码:'+@pwd

这里定义了两个变量,其中保存了用户名和验证密码。

代码中第一个SELECT语句用来对定义的局部变量@pwd赋值,第二个SELECT语句显示局部变量的值。

4.4.2 数据赋值SET语句

SET命令用于对局部变量进行赋值,也可以用于用户执行SQL命令时设定SQL Server中的系统处理选项,SET赋值语句的语法格式如下:

     SET {@local_variable = value | expression}
     SET 选项 {ON | OFF}

第一条SET语句表示对局部变量赋值,value是一个具体的值,expression是一个表达式;第二条语句表示对执行SQL命令时的选项赋值,ON表示打开选项功能,OFF表示关闭选项功能。

SET语句可以同时对一个或多个局部变量赋值。

SELECT语句也可以为变量赋值,其语法格式与SET语句格式相似。

     SELECT {@local_variable = value | expression}

提示

在SELECT赋值语句中,当expression为字段名时,SELECT语句可以使用其查询功能返回多个值,但是变量保存的是最后一个值;如果SELECT语句没有返回值,则变量值不变。

【例4.20】查询stu_info表中的学生成绩,并将其保存到局部变量stuScore中,输入语句如下。

     DECLARE @stuScore INT
     SELECT  s_score FROM stu_info
     SELECT  @stuScore  = s_score FROM stu_info
     SELECT  @stuScore AS Lastscore

代码执行结果如图4-15所示。

由图4-15可以看到,SELECT语句查询的结果中最后一条记录的s_score字段值为88,给stuScore赋值之后,其显示值为88。

图4-15 使用SELECT语句为变量赋值

4.4.3 数据输出PRINT语句

PRINT语句可以向客户端返回用户定义信息,可以显示局部或全局变量的字符串值。其语法格式如下。

     PRINT msg_str | @local_variable | string_expr

【例4.21】定义字符串变量name和整数变量age,使用PRINT输出变量和字符串表达式值,输入语句如下。

     DECLARE @name VARCHAR(10)='小明'
     DECLARE @age INT = 21
     PRINT '姓名  年龄'
     PRINT @name+'   '+CONVERT(VARCHAR(20),
@age)

代码执行结果如图4-16所示。

代码中第3行输出字符串常量值,第4行PRINT的输出参数为一个字符串串联表达式。

图4-16 使用PRINT输出变量结果 NIc+7owNcTGhhDRKenoEQyoVK44RZaRO01m5LV51J7MT0t+Qg+iutsXx1M3Jmt2J

点击中间区域
呼出菜单
上一章
目录
下一章
×