当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(14)

MSSQL
SQLSERVER 中datetime 和 smalldatetime类型分析说明
数据库清除日志文件(LDF文件过大)
按日期选择最晚日期与最早日期对应的数的差值
sql 时间函数 整理的比较全了
SQL Server全文检索查询浅析
SQL 存储过程基础语法之一
SQL Substring提取部分字符串
用户"sa"登陆失败 SQLServer 错误18456的解决方法
MSSQL 检查所使用的语句是否符合标准
drop,truncate与delete的区别
SQL语句查询数据库中重复记录的个数
SQL 导入导出Excel数据的语句
可以获取客户端的IP地址的sql语句
SQL 根据汉字获取全拼的代码
sqlserver exists,not exists的用法
sqlserver substring函数使用方法小结
sql 判断数据库,表,存储过程等是否存在的代码
做购物车系统时利用到得几个sqlserver 存储过程
Sql2000数据库的备份文件恢复到Sql2005的方法
sql 分组查询问题

MSSQL 中的 SQL Server数据库技术(14)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 64 ::
收藏到网摘: n/a


    Transact-SQL中可以使用两种变量,一种是局部变量(Local Variable)另外一种是全局变量(Global Variable)。

4.4.1 局部变量
局部变量是用户可自定义的变量,它的作用范围仅在程序内部。在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用。局部变量必须以“@”开头,而且必须先用DECLARE命令说明后才可使用。其说明形式如下:
DECLARE @变量名 变量类型 [@变量名 变量类型…]
其中变量类型可以是SQL Server 2000支持的所有数据类型,也可以是用户自定义的数据类型。DECLARE命令的详细用法请参见“4.6其它命令”。
在Transact-SQL中不能像在一般的程序语言中一样使用“变量=变量值”来给变量赋值。必须使用SELECT或SET命令来设定变量的值,其语法如下:
SELECT@局部变量=变量值
SET @局部变量=变量值
例4-5:声明一个长度为10 个字符的变量“id”并赋值
declare@id char(10)
select@id=‘10010001’

注意:可以在Select命令查询数据时,在Select命令中直接将列值赋给变量。例4-6:查询编号为“10010001”的员工和工资,将其分别赋予变量name和wage。

例4-6
use pangu
declare@name char(30)@wage money
select@name=e_name,@wage=e_wage
from employee
where emp_id='10010001'
select@name as e_name,@wage as e_wage
运行结果如下:
e_name e_wage
------------------------------ -----------
张三 8000.0000

注意:数据库语言和编程语言有一些关键字,关键字是在某一一样下能够促使某一操作发生的字符组合,为避免冲突和产生错误,在命令表、列、变量以及其它对象时应避免使用关键字。有关SQL Server的关键字请参见附录。

4.4.2 全局变量
全局变量是SQL Server系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用全局变量通常存储一些SQL Server的配置设定值和效能统计数据。用户可在程序中用全局变量来测试系统的设定值或Transact-SQL命令执行后的状态值。有关SQL Server 全局变量的详细情况请参见附录。

注意:全局变量不是由用户的程序定义的,它们是在服务器级定应义的。只能使用预先说明及定义的变局变量。引用全局变量时,必须以“@@”开头。局部变量的名称不能与全局变量的名称相同、否则会在应用中出错。