SQLServer中的全局变量

 

变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。
局部变量

局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。

全局变量
全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

select @@ERROR 返回最后执行的 Transact-SQL 语句的错误代码(integer) (0,表示没错误;1,表示有错误)

select APP_NAME ( ) as w --当前会话的应用程序

select @@IDENTITY   --返回最后插入的标识值 
select USER_NAME()    --返回用户数据库用户名

SELECT @@CONNECTIONS  --返回自上次SQL启动以来连接或试图连接的次数。 
SELECT GETDATE() --当前时间 
SELECT @@CPU_BUSY/100  --返回自上次启动SQL 以来 CPU 的工作时间,单位为毫秒

USE tempdb SELECT @@DBTS  as w  --为当前数据库返回当前 timestamp 数据类型的值。这一 timestamp 值保证在数据库中是唯一的。 
select @@IDENTITY as w --返回最后插入的标识值 
SELECT @@IDLE  as w  --返回SQL自上次启动后闲置的时间,单位为毫秒 
SELECT @@IO_BUSY AS w   --返回SQL自上次启动后用于执行输入和输出操作的时间,单位为毫秒 
SELECT @@LANGID AS w   --返回当前所使用语言的本地语言标识符(ID)。 
SELECT @@LANGUAGE AS w   --返回当前使用的语言名 
SELECT @@LOCK_TIMEOUT as w  --当前会话的当前锁超时设置,单位为毫秒。 
SELECT @@MAX_CONNECTIONS  as w  --返回SQL上允许的同时用户连接的最大数。返回的数不必为当前配置的数值 
EXEC sp_configure  --显示当前服务器的全局配置设置 
SELECT @@MAX_PRECISION as w --返回 decimal 和 numeric 数据类型所用的精度级别,即该服务器中当前设置的精度。默认最大精度38。 
select @@OPTIONS  as w  --返回当前 SET 选项的信息。 
SELECT @@PACK_RECEIVED as w  --返回SQL自启动后从网络上读取的输入数据包数目。 
SELECT @@PACK_SENT as w  --返回SQ自上次启动后写到网络上的输出数据包数目。 
SELECT @@PACKET_ERRORS as w  --返回自SQL启动后,在SQL连接上发生的网络数据包错误数。 
SELECT @@SERVERNAME as w --返回运行SQL服务器名称。 
SELECT @@SERVICENAME  as w --返回SQL正在其下运行的注册表键名 
SELECT @@TIMETICKS  as w --返回SQL服务器一刻度的微秒数 
SELECT @@TOTAL_ERRORS AS w  --返回 SQL服务器自启动后,所遇到的磁盘读/写错误数。 
SELECT @@TOTAL_READ  as w  --返回 SQL服务器自启动后读取磁盘的次数。 
SELECT @@TOTAL_WRITE as w  --返回SQL服务器自启动后写入磁盘的次数。 
SELECT @@TRANCOUNT  as w  --返回当前连接的活动事务数。 
SELECT @@VERSION as w  --返回SQL服务器安装的日期、版本和处理器类型。

SQLServer中的变量:局部变量,全局变量的更多相关文章

  1. python开发_python中的变量:全局变量和局部变量

    如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全 ...

  2. 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)[转]

    c语言中变量分为四类,分别是 1.auto   自动变量 2.static   静态存贮分配变量(又分为内部静态和外部静态) 3.extern  全程变量(用于外部变量说明) 4.register   ...

  3. sqlserver的表变量在没有预估偏差的情况下,与物理表可join产生的性能问题

    众所周知,在sqlserver中,表变量最大的特性之一就是没有统计信息,无法较为准备预估其数据分布情况,因此不适合参与较为复杂的SQL运算.当SQL相对简单的时候,使用表变量,在某些场景下,即便是对表 ...

  4. C语言那年踩过的坑--局部变量,静态变量,全局变量在内存中存放的位置

    先看几个概念: 1.bss是英文block started by symbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清0.bss段属于静态内存分配.它的初始 ...

  5. iOS 局部变量 全局变量 成员变量

    一.成员变量 : 写在类声明的大括号中的变量叫成员变量 (也叫属性/实例变量) 成员变量不可离开类 离开了类就不是成员变量 成员变量不能再定义的同事初始化 成员量只能通过对象来访问 成员变量存储在堆中 ...

  6. IOS 成员变量,全局变量,局部变量定义,static与extern的区别

    IOS 成员变量,全局变量,局部变量定义,static与extern的区别 1,先说定义 1)成员变量定义:生存与该类的生命周期,变量存活周期跟你定义的该类实体对象一样:作用域是整个实体对象:可以在h ...

  7. C/C++中static的用法全局变量与局部变量

    1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它 ...

  8. [ 转载 ] Java中成员变量 和局部变量

    java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...

  9. Java 局部变量和成员变量(全局变量)

    局部变量 定义在类的方法内或者代码块内的变量 局部变量只在定义它的方法体内或者代码块内有效 局部变量在使用前,必须先初始化 全局变量(成员变量) 一个类中既不在方法体内,也不在程序块内定义的变量 类中 ...

随机推荐

  1. .NET:国际化和本地化

    .NET:国际化和本地化 背景 国际化(i18n)和本地化(l10n)是高端程序的必备技术,可惜从业五年从没有尝试过,下一步准备做一个多用户的博客系统,想支持多语言,今天就学习了一下,写出来,希望大家 ...

  2. Linux kernel中网络设备的管理

    kernel中使用net_device结构来描述网络设备,这个结构是网络驱动及接口层中最重要的结构.该结构不仅描述了接口方面的信息,还包括硬件信息,致使该结构很大很复杂.通过这个结构,内核在底层的网络 ...

  3. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(八)

    Libvirt 是用c写的一个管理虚拟机及其资源(如网络.存储和外设等)的工具库,它不仅支持KVM/QEMU,它还支持xen,Vmware,OpenVZ和VirtualBox等其他HyperVisor ...

  4. Oracle层次查询和with函数的使用

    开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树.这种情况下一般会把父级部门和子级部门分成2个或者多个表,这种算是比较常规的做法:有 ...

  5. Android开发(24)---安卓中实现多线程下载(带进度条和百分比)

    当我们学完java中多线程的下载后,可以将它移植到我们的安卓中来,下面是具体实现源码: DownActivity.java package com.example.downloads; import ...

  6. vs2012中程序集生成无法自动在网站Bin目录下生成Dll文件?(已解决!)

    最近,突然发现生成程序集后,网站bin目录下dll没有更新,也没有自动生成dll文件,通过近半个小时的摸索和实验,找到了解决方法: 1.右键网站,不是项目,选择[属性页],在左侧[引用]中如果没有,就 ...

  7. jvm工具

    jvm工具 知识,经验是基础,数据是依据,工具是运营知识处理数据的手段 数据:运行日志.异常堆栈.GC日志.线程快照.堆转存储快照 JPS:虚拟机进程状况工具 jvm process status t ...

  8. DIV 实现可拖拽 功能(留档)

    //可拖拽 功能 $.fn.extend({    //用法:$(element).jqDrag();    //element需要具备定位属性,需要手动调整层叠样式,这里只是修改鼠标拖动效果    ...

  9. Mybatis第二天(其他)

    Mybatis第二天 框架课程 课程计划 动态sql If标签 Where标签 Sql片段 Foreach标签 关联查询 一对一关联 一对多关联 Mybatis整合spring 如何整合spring ...

  10. 怎样通过WireShark抓到的包分析出SIP流程图

    WireShark抓到了SIP包, 逐条分析, 看瞎...希望能够写个脚本, 自动生成流程图