SQL Server 全局变量
SQL Server中所有全局变量都使用两个@符号作为前缀
--1.@@error 最后一个T-SQL错误的错误号(目的是或得违反约束的错误号)
insert into Subject values('测试工程师')--违反了约束
select @@ERROR --2.@@identity 最后一次插入的标示值
insert into Subject (SubjectName, ClassHour, GradeId) --SubjectId为主键,自增
values ('好吧','',1)
select @@identity --如果上面是第一次添加,则返回1
--注意:如果你用了delete语句删除了上面添加的语句后
--再select @@identity ,则返回的还是1 --3.@@language 当前使用的语言
select @@language --4.@@rowcount 受上一个SQL语句影响的行数
select * from Subject --如果查到了N条数据
select @@rowcount --则返回的值N --5.@@SERVERNAME本地服务器的名称
select @@SERVERNAME --返回的值 123-PC --6.@@SERVICENAME 该计算机上的SQL服务的名称
select @@SERVICENAME --返回的值 MSSQLSERVER --7.@@TIMETICKS 当前计算机上每刻度的微秒数 每一刻度的时间量依赖于计算机。操作系统的一刻度是 31.25 毫秒,或是三十分之一秒。
select @@TIMETICKS --返回的值 31250 --8.@@TRANCOUNT
--BEGIN TRANSACTION 语句将 @@TRANCOUNT 增加 1。 ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减到 0,但 ROLLBACK TRANSACTION savepoint_name 除外,它不影响 @@TRANCOUNT。 COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。
--在处理事务的时候,一般都用RollBack Transaction来回滚,但是如果在嵌套事务中这样使用的话,就会出现错误。
--在SqlServer里,嵌套事务的层次是由@@TranCount全局变量反映出来的。每一次Begin Transaction都会引起@@TranCount加1。而每一次Commit Transaction都会使@@TranCount减1,而RollBack Transaction会回滚所有的嵌套事务包括已经提交的事务和未提交的事务,而使@@TranCount置0。例如:
--Begin Transaction -- @@TranCount = 1
--BeginTransaction -- @@TranCount = 2
--BeginTransaction -- @@TranCount = 3
--Commit Transaction -- @@TranCount = 2
--Commit Transaction -- @@TranCount = 1
--Commit Transaction -- @@TranCount = 0
--如果出现错误ROLLBACK TRANSACTION
--则:
--Begin Transaction -- @@TranCount = 1
--BeginTransaction -- @@TranCount = 2
--BeginTransaction -- @@TranCount = 3
--ROLLBACK TRANSACTION -- @@TranCount = 0
--Commit Transaction -- @@TranCount = 0---出现错误
--Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 1, current count = 0.
--如果被嵌套的事务中发生错误,最简单的方法应该是无论如何都先将它提交,同时返回错误码(一个正常情况不可能出现的代码 如 -1)让上一层事务来处理这个错误,从而使@@TranCount 减1。 这样外层事务在回滚或者提交的时候能够保证外层事务在开始的时候和结束的时候保持一致。由于里层事务返回了错误码,因此外层事务(最外层)可以回滚事务,这样里面已经提交的事务也可以被回滚而不会出现错误。
select @@TRANCOUNT --9.@@VERSION SQL Server的版本信息
select @@VERSION --返回的值 Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1) --10.可以创建的,同时连接的最大数目
select @@MAX_CONNECTIONS --返回的值 32767
其中 8.TRANSOUNT 详情https://msdn.microsoft.com/zh-cn/library/ms187967.aspx
10.MAX_CONNECTIONS详情http://blog.hehehehehe.cn/a/668.htm
SQL Server 全局变量的更多相关文章
- sql server中局部变量与全局变量的 申明与赋值(转)
来源:http://www.111cn.net/database/mssqlserver/36734.htm 例子:http://www.cnblogs.com/sunxi/p/4497493.htm ...
- SQL Server 文件结构 与 全局变量,函数
SQL Server 文件结构与全局变量 数据库和表 文件类型 主数据文件 .mdf 次要数据文件 .ndf 日志文件 .ldf 系统数据库 master 数据库 记录所有的登陆账户和系统配置设置 记 ...
- SQL Server中常用全局变量介绍
在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...
- SQL Server的全局变量
SQL Service中的全部变量不需要用户参与定义,在任何程序均可随时调用.并且全部变量是以@@开头 全局变量名称 描述 @@CONNECTIONS 返回 SQL Server 自上次启动以来尝试的 ...
- SQL Server中,常用的全局变量
在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...
- SQL Server 常用内置函数(built-in)持续整理
本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...
- SQL Server游标(转)
清晰地介绍了SQL游标,很好的学习资料. 转自 http://www.cnblogs.com/knowledgesea/p/3699851.html 什么是游标 结果集,结果集就是select查询之后 ...
- Sql Server系列:Transact-SQL变量
变量是Transact-SQL中由用户定义.可对其赋值并参与运算的一个实体,分为全局变量和局部变量.其中全局变量由系统自定义并维护,全局变量名称前面有@@字符,任何程序均可随时调用.局部变量名称前面有 ...
- SQL Server中的事务与锁
了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁: ...
随机推荐
- Xcode编译错误集锦
1.在将ios项目进行Archive打包时,Xcode提示以下错误: [BEROR]CodeSign error: Certificate identity ‘iPhone Distribution: ...
- ux.plup.File plupload 集成 ux.plup.FileLis 批量上传预览
//plupload 集成 Ext.define('ux.plup.File', { extend: 'Ext.form.field.Text', xtype: 'plupFile', alias: ...
- Android关联源码support-v4的问题解决
如果在有用到过viewpager或者fragmentActivity等一些v4包下的类,当我们按F3时无法查看到源码,这个时候就需要我们关联该源码,该源码的关联与android源码的关联不一样. 大家 ...
- python 自动化测试资料
python 自动化测试资料: http://yunpan.cn/QXVvwVJsAsPnb
- 常用的sql语句(找不同位数,找重复)
1.SQL找不同位数 select length(aae135),count(1) from ac01 group by length(aae135) ; ————————————————————— ...
- css压缩(一)
基于require.js的压缩,至于require.js,网上有比较权威的解说 RequireJS进阶(一) RequireJS进阶(二) RequireJS进阶(三) 目前我所做的项目是把各个模块下 ...
- Qt Error: dependent '..\***' does not exist.
大概意思:所依赖的资源不存在. 实际上是工程找不到所依赖的资源. 本人的解决方案(可能拙劣,也不一定是正道):将资源拷贝到工程目录下.
- 编译安装GCC 4.7.2
from:http://blog.chinaunix.net/uid-20717979-id-3485672.html 安装gcc需要GMP.MPFR.MPC这三个库,可从ftp://gcc.gnu. ...
- Understanding apps: mobile, native or responsive
Background Maybe you have decided to get an app built. You will not build it yourself (obviously!) s ...
- Robot Framework自动化测试(四)--- 分层思想
谈到Robot Framework 分层的思想,就不得不提“关键字驱动”. 关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同. 在上一节的selenium API 中所介绍的方法其实就是关 ...