SQLServer局部变量和全局变量介绍05-29学习笔记
变量
数据在内存中存储可以变化的量叫变量。为了在内存中存储信息,用户必须指定存储信息的单元,并为了该存储单元命名,
以方便获取信息,这就是变量的功能。Transact-SQL可以使用两种变量,一种是局部变量,另外一种是全局变量。
局部变量和全局变量的主要区别在于存储的数据账作用范围不一样。
1、局部变量
局部变量是用户可自定义的变量,它的作用范围仅在程序内部。局部变量的名称是用户自定义的,
命名的局部变量名要符合SQLserver2012标识符命名规则,局部变量名必须以@开头。
1.1、声明局部变量
语法:
DECLARE
{
@varaible_name datatype [,...n]
}
参数说明:
@varaible_name:局部变量的变量名
datatype:局部变量使用的数据类型,可以除text,ntext,image类型外所有的系统数据类型和用户自定义数据类型。
例如,声明变量@testname
SQL语句如下:
declare @testname nvarchar(10)
1.2、为局部变量赋值
为变量赋值的方式一般有两种,一种是使用select语句,一种是使用set语句。
使用select语句赋值SQL:
use db_tse
declare @testname nvarchar(10)
select @testname=stname from Student where id=''
print @testname
说明:首先声明变量testname然后student表里面的id=1001这条数据的stname赋值给@testname,最后print打印出来
declare @a int
select @a=1
print @a
给多个变量赋值:
declare @a int,@b nvarchar(10),@c int
select @a=1,@b='Tse先生',@c=2
使用set语句赋值SQL:
简单的赋值例子:
declare @testname nvarchar(20)
set @testname = 'Are you ok?'
print @testname
2、全局变量
全局变量是SQLserver系统内部事先定义好的变量,不用用户参与定义,对用户而言,其作用范围并不局限于某一程序,
而是任何程序均可随时调用。全局变量通常用于存储一些SQLserver的配置设定值和效能统计数据。
(1)@@CONNECTIONS:记录自最后一次服务器启动以来,所有针对这台服务器进行的连接数目,包括没有连接成功的尝试。

(2)@@CPU_BUSY:记录自上次启动以来尝试的连接数,无论连接成功还是失败,都以ms为单位的CPU工作时间。

(3)@@CURSOR_ROWS:返回本次服务器连接中,打开游标取出数据行的数目。

(4)@@DBTS:返回当前数据库中timestamp数据类型的当前值。

(5)@@ERROR:返回上一条T-SQL语句所返回的错误代码。如果sqlserver服务器执行完上一条语句后,执行成功没有错误,则返回@@ERROR的值为0。



(6)@@FETCH_STATUS:返回上一次使用游标FETCH操作返回的状态值,且返回值为整型。
| 返回值 | 描述 |
| 0 | FETCH语句成功 |
| -1 | FETCH语句失败或此行不在结果集中 |
| -2 | 被提取的行不存在 |

(7)@@IDENTITY:返回最近一次插入的identity列的数值,返回值是numeric。

(8)@@IDLE:返回以ms为单位计算SQLserver服务器自最近一次启动以来处于停顿状态的时间。

(9)@@IO_BUSY:返回以ms为单位计算的SQLserver服务器自最近一次启动以来花在输入和输出上的时间。

(10)@@LOCK_TIMEOUT:返回当前对数据锁定的超时设置。

(11)@@PACK_RECEIVED:返回sqlserver服务器自最近一次启动以来一共从网络上接收数据分组的数目。

(12)@@PACK_SENT:返回sqlserver服务器自最近一次启动以来一共向网络上发送数据分组的数目。

(13)@@PROCID:返回当前存储过程的ID标识。

(14)@@REMSERVER:返回在登录记录中记载远程sqlserver服务器的名字

(15)@@ROWCOUNT:返回上一条sql语句所影响到数据行的数目。对所有不影响数据库数据的SQL语句,这个全局变量返回的结果是0。在进行数据库编程时,经常要检测@@ROWCOUNT的返回值,以便明确所执行的操作是否达到了目标。

(16)@@SPID:返回当前服务器进程的ID标识。

(17)@@TOTAL_ERRORS:返回自sqlserver服务器启动以来,所遇到读写错误的总数。

(18)@@TOTAL_READ:返回自sqlserver服务器启动以来,读磁盘的次数。

(19)@@TOTAL_WRITE:返回自sqlserver服务器启动以来,写磁盘的次数。

(20)@@TRANCOUNT:返回当前连接中,处于活动状态事务的数目。

(21)@@VERSION:返回当前sqlserver服务器安装日期、版本,以及处理器的类型。

SQLServer局部变量和全局变量介绍05-29学习笔记的更多相关文章
- 十五分钟介绍 Redis数据结构--学习笔记
下面是一个对Redis官方文档<A fifteen minute introduction to Redis data types>一文的翻译,如其题目所言,此文目的在于让一个初学者能通过 ...
- TestNG简单介绍以及安装—学习笔记1
TestNG是什么 到这里,大家肯定已经运行了一些关于Selenium的测试用例了(这里主要是站着一个自动化测试工程师的角度来看待TestNG的,所以这里所说的也都是基于Web测试的验证点来说的,而不 ...
- 05 python学习笔记-常用内置函数(五)
1.sorted() 函数对所有可迭代的对象进行排序(默认升序)操作 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. l ...
- 05.swoole学习笔记--定时器
<?php //循环执行的定时器 swoole_timer_tick(,function($timer_id){ echo "执行 $timer_id \n"; }); sw ...
- [Python学习笔记]调试
编码占了编程工作量的90%,调试占了另外90%,这是一个流传着的笑话.调试在编程中占有很大的分量,即使专业的程序员也一直在制造缺陷. 抛出异常 抛出异常相当于是说:"停止运行这个函数中的代码 ...
- NSURLSession学习笔记
NSURLSession学习笔记(一)简介 一.URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁 ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- 【JAVAWEB学习笔记】06_jQuery基础
接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
随机推荐
- js之字典操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 多校 1010 Taotao Picks Apples(补题)
>>点击进入原题<< 思路:题解很有意思,适合线段树进阶 考虑每次修改不叠加,因此我们可以从如何对原序列进行预处理着手.通过观察可以发现,将原序列从任意位置断开,我们可以通过分 ...
- Prüfer序列和cayley定理
参考资料: 1.matrix67 <经典证明:Prüfer编码与Cayley公式> 2.百度百科 3.Forget_forever prufer序列总结 4.维基百科 5.dirge的学习 ...
- App后台开发运维和架构实践学习总结(3)——RestFul架构下API接口设计注意点
1. 争取相容性和统一性 这里就要求让API设计得是可预测的.按照这种方式写出所有接口和接口所需要的参数.现在就要确保命名是一致的,接口所需的参数顺序也是一致的.你现在应该有products,orde ...
- 170611 NOIP模拟赛
第一题没做出来不应该: 第二题不难想,就是写起来很麻烦: 第三题因为学了挺久的splay就直接写的splay,没太在意常数问题,一般情况下,第k值问题主席树是比splay稍快的: 盘子序列 [题目描述 ...
- 4、Java并发性和多线程-并发编程模型
以下内容转自http://ifeve.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B/: 并发系统可以采用多种并发编程模型来实现. ...
- spring项目启动需要的几个注解
1.@ComponentScan注解,spring context包下,可以理解嘛,扫描srping bean放在ioc容器中的. ApplicationContext是接口,就是IOC容器嘛,也在这 ...
- MySQL: 打开binlog选项后无法重启MySQL
binlog目录权限不足导致,用chown mysql:mysql <log folder>即可解决此问题.
- nodejs 安装express
在命令行中执行 "npm install -g express"等待下载并且自动完成安装.测试express完成安装的一个方法就是查看其版本号,执行命令 “express -V”正 ...
- oracle em 5500访问问题
oracle em 5500访问问题 需要加s了:https://127.0.0.1:5500/em/