Home > Database > Mysql Tutorial > sql server 局部变量的使用与说明

sql server 局部变量的使用与说明

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 17:47:31
Original
4089 people have browsed it

使用 declare
下例使用名为 @find 的局部变量检索所有姓以 ring 开头的作者信息。
复制代码 代码如下:
use pubs
declare @find varchar(30)
set @find='ring%'
select au_lname,au_fname,phone
from authors
where au_lname like @find


@find就是一个局部变量。

b. 在 declare 中使用两个变量
下例从 binnet & hardley (pub_id = 0877) 的雇员中检索从 1993 年 1 月 1 日起所雇佣的雇员名称。
复制代码 代码如下:
use pubs
set nocount on
go
declare @pub_id char(4), @hire_date datetime
set @pub_id = '0877'
set @hire_date = '1/01/93'
-- here is the select statement syntax to assign values to two local
-- variables.
-- select @pub_id = '0877', @hire_date = '1/01/93'
set nocount off
select fname, lname
from employee
where pub_id = @pub_id and hire_date >= @hire_date

下面是结果集:

fname lname
-------------------- ------------------------------
anabela domingues
paul henriot

(2 row(s) affected)


局部变量
局部变量是用户可自定义的变量,它的作用范围仅在程序内部。局部变量的名称是用户自定义的,命名的局部变量名要符合sql server 2000标识符命名规则,局部变量名必须以@开头。
1.声明局部变量
局部变量的声明需要使用declare语句。
语法:
declare
{
@varaible_name   datatype   [ ,… n  ]
}
参数说明:
l          @varaible_name:局部变量的变量名必须以@开头,另外变量名的形式必须符合sql server标识符的命名方式。
l          datatype:局部变量使用的数据类型可以是除text , ntext或者image类型外所有的系统数据类型和用户自定义数据类型。一般来说,如果没有特殊的用途,建议在应用时尽量使用系统提供的数据类型。这样做,可以减少维护应用程序的工作量。
例如声明局部变量 @ songname。
sql语句如下:
declare  @songname   char(10)
2.为局部变量赋值
为变量赋值的方式一般有两种,一种是使用select语句,一种是使用set语句。使用select语句为变量赋值的语法如下:
select    @varible_name   =  expression
[from    table_name [ ,… n ]
where   clause  ]
上面的select语句的作用是为了给变量赋值,而不是为了从表中查询出数据。而且在使用select语句进行赋值的过程中,并不一定非要使用from关键字和where子句。
示例:
在“student”的“course”表中,把“课程内容”是“艺术类”信息赋值给局部变量@songname,并把它的值用print关键字显示出来。在查询分析器中运行的结果如图1所示。

图1  把查询内容赋值给局部变量
sql语句如下:
use     student
declare @songname   char(10)
select  @songname=课程内容  from  course where 课程类别='艺术类'
print   @songname
select语句赋值和查询不能混淆,例如声明一个局部变量名是@ b并赋值的sql语句如下:
declare  @b  int
select  @b=1
另一种为局部变量赋值的方式是使用set语句。使用set语句对变量进行赋值的常用语法如下:
{ set  @varible_name  =  ecpression } [ ,… n ]
下面是一个简单的赋值语句:
declare  @song  char(20)
set  @song  =  'i  love  flower'
还可以为多个变量一起赋值,相应的sql语句如下所示:
declare  @b  int, @c  char(10),@a  int
select @b=1, @c='love',@a=2
注意:数据库语言和编程语言有一些关键字,关键字是在某一环境下能够促使某一操作发生的字符组。为避免冲突和产生错误,在命名表、列、变量以及其他对象时应避免使用关键字。

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
sql file
From 1970-01-01 08:00:00
0
0
0
php - Overhead of prepare vs sql?
From 1970-01-01 08:00:00
0
0
0
Print sql statement
From 1970-01-01 08:00:00
0
0
0
Pass array to SQL insert query using PHP
From 1970-01-01 08:00:00
0
0
0
sql optimization or
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template