sqlserver变量赋值介绍说明

变量对于一种语言是必不可少的一部分,当然,对于T-SQL来讲也是一样。在简单查询中,往往很少用到变量,

但无论对于复杂的查询或存储过程中,变量都是必不可少的一部分。在SQLServer中,变量分全局变量和局部变量两种:

一。全局变量:

全局变量是由系统定义的,在整个SQL Server实例内都能访问到的变量.全局变量以两个@@符号作为开头,用户只能访问,不能赋值。

Sql Server一共提供了30多个全局变量

常用:
@@IDENTITY  : 返回最后插入行的标识列的列值。
@@ERROR  : 返回最后执行的Transact-SQL语句的错误代码。没有错误则为零。
@@ROWCOUNT  : 返回受上一语句影响的行数,任何不返回行的语句将这一变量设置为0。
@@DBTS  : 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的。
@@SERVERNAME  : 返回运行SQL Server 2000本地服务器的名称。
@@REMSERVER  : 返回登录记录中记载的远程SQL Server服务器的名称。
@@CONNECTIONS  : 返回自上次启动SQL Server以来连接或试图连接的次数,用其可让管理人员方便地了解今天所有试图连接服务器的次数。
@@CURSOR_ROWS : 返回最后连接上并打开的游标中当前存在的合格行的数量。
@@VERSION  : 返回SQL Server当前安装的日期、版本和处理器类型。
@@CPU_BUSY  : 返回自SQL Server最近一次启动以来CPU的工作时间其单位为毫秒。
@@DATEFIRST  : 返回使用SET DATEFIRST命令而被赋值的DATAFIRST参数值。SET DATEFIRST命令用来指定每周的第一天是星期几。
@@FETCH_STATUS  : 返回上一次FETCH语句的状态值。
@@IDLE  : 返回自SQL Server最近一次启动以来CPU处于空闭状态的时间长短,单位为毫秒。
@@IO_BUSY  : 返回自SQL Server最后一次启动以来CPU执行输入输出操作所花费的时间(毫秒)。
@@LANGID  : 返回当前所使用的语言ID值。
@@LANGUAGE  : 返回当前使用的语言名称。
@@LOCK_TIMEOUT  : 返回当前会话等待锁的时间长短其单位为毫秒。
@@MAX_CONNECTIONS  : 返回允许连接到SQL Server的最大连接数目。
@@MAX_PRECISION  : 返回decimal 和 numeric数据类型的精确度。
@@NESTLEVEL  : 返回当前执行的存储过程的嵌套级数,初始值为0。
@@OPTIONS  : 返回当前SET选项的信息。
@@PACK_RECEIVED  : 返回SQL Server通过网络读取的输入包的数目。
@@PACK_SENT  : 返回SQL Server写给网络的输出包的数目。
@@PACKET_ERRORS  : 返回网络包的错误数目。
@@PROCID  : 返回当前存储过程的ID值。
@@SERVICENAME  : 返回SQL Server正运行于哪种服务状态之下:如 MS SQLServer、MSDTC、SQLServerAgent。
@@SPID  : 返回当前用户处理的服务器处理ID值。
@@TEXTSIZE  : 返回SET语句的TEXTSIZE选项值SET语句定义了SELECT语句中text或image。数据类型的最大长度基本单位为字节。
@@TIMETICKS  : 返回每一时钟的微秒数。
@@TOTAL_ERRORS  : 返回磁盘读写错误数目。
@@TOTAL_READ  : 返回磁盘读操作的数目。
@@TOTAL_WRITE  : 返回磁盘写操作的数目。
@@TRANCOUNT  : 返回当前连接中处于激活状态的事务数目。

二。局部变量

局部变量由用户定义,生命周期只在一个批处理内有效。局部变量以一个@符号开头,由用户自己定义和赋值。赋值时用 select 或 set。

示例:

declare @age int

declare @name varchar(20)

set @name=‘张三‘      --用set 方法给变量赋值 注: 此方法一次只能给一个变量赋值

select @age=age from client where [name][email protected]    --查询客户张三的年龄赋值给@age变量 注:此方法能一次多个变量赋值

原文地址:http://bbs.delit.cn/thread-196-1-1.html

转载请注明出处:

撰写人:度量科技http://www.delit.cn

时间: 2024-08-16 04:36:48

sqlserver变量赋值介绍说明的相关文章

Sqlserver中使用Select语句给变量赋值的时候需要注意的一个问题

我们知道在SqlServer中可以用Select语句给变量赋值,比如如下语句就为int类型的变量@id赋值 1 declare @id int=-1; 2 3 select @id=id from 4 ( 5 select 1 as id 6 union all 7 select 2 as id 8 union all 9 select 3 as id 10 ) as t 11 12 select @id 执行上面的代码会显示下面的查询结果,结果显示最后@id的值为3,那么意味着上面第3行的se

Unity3D除了在编辑器里,怎么用代码给一个Texture类型的变量赋值

resource.load上来一张贴图就行. ? 1 2 3 4 5 6 7 8 9 using UnityEngine; using System.Collections; public class example : MonoBehaviour {     void Start() {         GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);         go.renderer.material.mai

SQL Server 中VARCHAR(MAX)变量赋值引起的性能问题。

案例环境: 操作系统版本 : Windows Server 2008 R2 Standard  SP1 数据库版本   :  Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 案例介绍: 由于不能将生产环境的代码和数据贴上来,所以我构造了下面一个小案例,当然没法和生产环境的案例一致.只能是接近而已.但是足以反映问题本质就足够了. DROP TABLE ProductPrice;   GO   CREATE TABLE ProductPrice

python变量赋值的几种形式细节

变量赋值的几种形式细节 本文解释python中变量赋值的形式,并解释一些细节.后面还有一篇文章解释python中按引用赋值的文章. python中变量赋值的几种形式. x = "long" # (1).基本形式 x, y = "long", "shuai" # (2).元组对应赋值 [x, y] = ["long", "shuai"] # (3).列表对应赋值 a, b, c, d = "long

Vim 中的变量赋值、引用与作用域

使用 let 进行变量赋值,echo 打印变量的值, unlet 销毁变量. 对于 Vim 选项还可用 set 来更方便地操作,比如 set {option}, set no{option}, set {option}?. 普通变量可以直接引用,环境变量要加前缀 $.寄存器变量要加前缀 @.Vim 选项要加前缀 &. 变量默认作用域取决于定义的位置,函数内则为函数作用域,外部则为全局变量. 赋值和引用变量时可以使用 b:,g:,l:,t: 等前缀来指定要操作哪个作用域的变量. 和其他编程语言一样

shell 的特性:命令行展开,变量赋值,以及文件层次标准(history)

bash默认会保存以前执行过的命令列表 当前shell的进程保存在缓冲区中 缓冲区中的命令会在shell退出后保存在文件中    .bash history 使用上下箭头可以翻看此前执行过的命令 history: !数字  :  执行history中第数字条命令 !!   :  上一条命令 !-数字:表示执行命令列表中的倒数第数字条命令 ESC .  : 执行上个命令的最后参数 ! string:执行命令列表中最后一个以string开头的命令 - d :删除第数字条记录 -c:清空history

Oracle ->> 变量赋值 Demo

刚学Oracle,学习学习别人的代码.这段代码时从下面的博文中摘取的:http://www.cnblogs.com/mq0036/p/4155774.html declare l_dept integer := 20; currtime date := sysdate; l_nam varchar2(20) := to_char(add_months(trunc(sysdate),-12),'yyyymmdd'); -- to_char(sysdate,'MM')-13; type num_li

.net开发环境的认识,控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值打印 两种数据类型,整形类型转换

首先感谢向立凯老师带我走进.net这个很好的软件开发程序.通过两天的学习在这个领域的了解也多了很多,让大家先了解一下c#语言 c#是一种全新且简单.安全.快捷面向对象的程序设计语言.是专门为.net应用开发的语言..net的开发都基于一个统一的开发环境 Visual Studio.net.下面我们来看看怎么在Visual Studio.net.下创建以新的项目: 1.打开 2.新建一个项目 通过执行文件-新建-项目菜单命令,会弹出一个新建项目对话框.在这个对话框中选择开发语言为c#,选择框架版本

2017-2-17 c#基础学习 (控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值打印)

1 控制台程序的创建 > 新建项目  ,选择 c#,  框架选择4.0 , 选择控制应用台程序, 选择文件保存位置 修改名字. 2 c#输出与输入 >在main函数中编写代码 >在编写时可以先插入Console.ReadLine();防止程序闪退 > Console.Write("实例语句");//不换行输出 Console.WriteLine("示例语句");//换行输出 Console.ReadLine();//等待用户输入 防止闪退 结