SQL Server 从入门到项目实践(超值版)
上QQ阅读APP看书,第一时间看更新

5.4 其他基本语句

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

5.4.1 数据声明——DECLARE语句

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

主要参数含义如下。

  •  @ local_variable:变量的名称。变量名必须以at符号(@)开头。
  •  data_type:系统提供数据类型或是用户定义的表类型或别名数据类型。变量的数据类型不能是text、ntext或image。AS指定变量的数据类型,为可选关键字。
  •  = value:声明的同时为变量赋值。值可以是常量或表达式,但它必须与变量声明类型匹配,或者可隐式转换为该类型。

例如,声明两个局部变量,名称为username和pwd,并为这两个变量赋值,SQL语句如下:

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

5.4.2 数据赋值——SET语句

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

主要参数介绍如下:

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

另外,SET语句可以同时对一个或多个局部变量赋值。SELECT语句也可以为变量赋值,其语法格式与SET语句格式相似。

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

例如,想要查询fruit表中的水果价格,并将其保存到局部变量priceScore中,SQL语句如下:

5.4.3 数据输出——PRINT语句

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

主要参数介绍如下。

  •  msg_str:是一个字符串或Unicode字符串常量。
  •  @local_variable:任何有效的字符数据类型的变量,它的数据类型必须为char或varchar,或者必须能够隐式转换为这些数据类型。
  •  string_expr:字符串的表达式,可包括串联的文字值、函数和变量。

例如,定义字符串变量name和整数变量age,使用PRINT输出变量和字符串表达式值,SQL语句如下:

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