来源:http://www.111cn.net/database/mssqlserver/36734.htm

例子:http://www.cnblogs.com/sunxi/p/4497493.html

局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的);

申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;

赋值:有两种方法式(@num为变量名,value为值)

set @num=value;   或   select @num=value;

如果想获取查询语句中的一个字段值可以用select给变量赋值,如下:

select @num=字段名 from 表名 where ……

mysql教程中变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。

第一种用法:set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量

第二种用法:select @num:=1; 或 select @num:=字段名 from 表名 where ……

注意上面两种赋值符号,使用set时可以用“=”或“:=”,但是使用select时必须用“:=赋值”

在sql中,我们常常使用临时表来存储临时结果,对于结果是一个集合的情况,这种方法非常实用,但当结果仅仅是一个数据或者是几个数据时,还要去建一个表,显得就比较麻烦,另外,当一个sql语句中的某些元素经常变化时,比如选择条件,(至少我想)应该使用局部变量。当然ms   sql   server的全局变量也很有用。

> > > > 局部变量

声明:declare   @local_variable   data_type

@local_variable   是变量的名称。变量名必须以   at   符   (@)   开头。data_type   是任何由系统提供的或用户定义的数据类型。变量不能是   text、ntext   或   image   数据类型。

示例:

use   master   
declare   @sel_type   char(2)   
declare   @sel_cunt   numeric(10)   
set   @sel_type   =   'u '/*user   table*/   
set   @sel_cunt   =   10

/*返回系统中用户表的数目*/   
select   @sel_cunt   =   count(*)   
from   sysobjects   
where   type   =   @sel_type

select   @sel_cunt   as   'user   table   ' 's   count '

如果要返回系统表的数目,可以用set   @sel_type   =   's '

可能这个例子并不能说明使用变量的好处,我只是想说明使用方法。当一组(几个甚至几十个)sql语句都使用某个变量时,就能体会到他的好处了。

> > > > 全局变量

全局变量是系统预定义的,返回一些系统信息,全局变量以两个at(@)开头。下面是我统计了一些较为常用的变量。

@@connections   
返回自上次启动以来连接或试图连接的次数。

@@cursor_rows   
返回连接上最后打开的游标中当前存在的合格行的数量。

@@datefirst   
返回每周第一天的数字

@@error   
返回最后执行的sql   语句的错误代码。

@@fetch_status   
返回被   fetch   语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。

@@identity   
返回最后插入的标识值

@@langid   
返回当前所使用语言的本地语言标识符(id)。

@@language   
返回当前使用的语言名。

@@lock_timeout   
返回当前会话的当前锁超时设置,单位为毫秒。

@@procid   
返回当前过程的存储过程标识符   (id)   。

@@rowcount   
返回受上一语句影响的行数。

@@servername   
返回运行   的本地服务器名称。

@@spid   
返回当前用户进程的服务器进程标识符   (id)。

@@trancount   
返回当前连接的活动事务数。

@@version   
返回当前安装的日期、版本和处理器类型。

sql server中局部变量与全局变量的 申明与赋值(转)的更多相关文章

  1. SQL Server中常用全局变量介绍

    在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...

  2. SQL Server中,常用的全局变量

    在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...

  3. SQL Server中变量的声明和使用方法

    网址:http://blog.sina.com.cn/s/blog_63d0c97a0100qpy7.html 声明局部变量语法: DECLARE @variable_name DataType 其中 ...

  4. [转] SQL Server中变量的声明和使用方法

    原文地址 SQL Server中变量的声明和使用方法 声明局部变量语法: DECLARE @variable_name DataType 其中 variable_name为局部变量的名称,DataTy ...

  5. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  6. SQL Server中一些有用的日期sql语句

    SQL Server中一些有用的日期sql语句 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DA ...

  7. SQL Server中的事务与锁

    了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁: ...

  8. SQL Server中的事物

    1.事务的四个属性 原子性Atomicity,一致性Consistency,隔离性Isolation,持久性Durability ,即ACID特性. 原子性:事务必须是一个完整工作的单元,要么全部执行 ...

  9. 【转】SQL Server中的事务与锁

    SQL Server中的事务与锁   了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂 ...

随机推荐

  1. [HDOJ5289]Assignment(RMQ,二分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 题意:求满足区间内最大值和最小值差为k的区间个数. 预处理出区间的最值,枚举左端点,根据最值的单 ...

  2. C# WPF MVVM 实战 – 5- 用绑定,通过 VM 设置 View 的控件焦点

    本文介绍在 MVVM 中,如何用 ViewModel 控制焦点. 这焦点设置个东西嘛,有些争论.就是到底要不要用 ViewModel 来控制视图的键盘输入焦点.这里不讨论,假设你就是要通过 VM,设置 ...

  3. ABAP 内表 详解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. eclipse svn 忽略 target目录 等等... 我用的后边的方法 (转载)

    这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和 .classpath 最好也别放到src repository 里. ...

  5. win10系统更新补丁时进度条一直卡在0%不动的解决方案

    为了能够让win10系统更加安全稳定,很多用户都会时不时为自己的电脑安装补丁.不过,部分用户在为win10系统更新补丁时,却会遇到进度条一直卡在0%不动的问题.这该怎么办呢?下面,小编就告诉大家解决该 ...

  6. Docker-利用dockerfile来搭建tomcat服务

    在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中, ...

  7. python的最最最最最基本语法(2)

    函数的定义: 使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 当用return 返回多个值时,返回的其实是一个tuple, ...

  8. Java编程思想学习笔记_2(继承和多态)

    静态初始化: 静态初始化只在必要的时刻进行.(即当程序需要加载类进入内存的时候,执行静态初始化.静态变量和静态代码块的初始化顺序,按照在代码中声明的顺序老执行.例如:如果要执行某个public类,那么 ...

  9. WDS的原理

    WDS的原理 WDS 即 Wireless Distribution System,是无线网络部署延展系统的简称,指用多个无线网络相互联结的方式构成一个整体的无线网络.简单地说,WDS就是利用两个(或 ...

  10. hdu 1115 Lifting the Stone

    题目链接:hdu 1115 计算几何求多边形的重心,弄清算法后就是裸题了,这儿有篇博客写得很不错的: 计算几何-多边形的重心 代码如下: #include<cstdio> #include ...