变量和数据库事务
来源:互联网 发布:centos7和ubuntu 编辑:程序博客网 时间:2024/06/15 10:38
声明局部变量
DECLARE @变量名 数据类型
DECLARE@name varchar(20)
DECLARE @id int
赋值
SET@变量名=值 --set用于普通的赋值
SELECT@变量名=值 --用于从表中查询数据并赋值,,可以一次给多个变量赋值
例如:
SET@name=‘张三’
SET @id= 1
SELECT@name= sName FROMstudent WHEREsId=@id
变量
含义
@@ERROR
最后一个T-SQL错误的错误号
@@IDENTITY
最后一次插入的标识值
@@LANGUAGE
当前使用的语言的名称
@@MAX_CONNECTIONS
可以创建的同时连接的最大数目
@@ROWCOUNT
受上一个SQL语句影响的行数
@@SERVERNAME
本地服务器的名称
@@TRANSCOUNT
当前连接打开的事务数
@@VERSION
SQL Server的版本信息
指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)--也就是由多个sql语句组成,必须作为一个整体执行这些sql语句作为一个整体一起向系统提交,要么都执行、要么都不执行
写法二:
开始事务:begin transaction
事务提交:commit transaction
事务回滚:rollback transaction
判断某条语句执行是否出错:
全局变量@@ERROR;
@@ERROR只能判断当前一条T-SQL语句执行是否有错,为了判断事务中所有T-SQL语句是否有错,我们需要对错误进行累计; 例:SET @errorSum=@errorSum+@@error
写法一:begin trandeclare @error int=0update bank set balance=balance-1000 where cid='0001';set @error=@@error+@error;update bank set balance=balance + 1000 where cid='0002';set @error=@@error+@error;if @error<>0begin rollbackendelsebegincommitend
写法二:
begin trandeclare @error int=0begin tryupdate bank set balance=balance-900 where cid='0001';set @error=@@error+@error;update bank set balance=balance + 900 where cid='0002';set @error=@@error+@error;commitend trybegin catchrollbackend catch
SET IMPLICIT_TRANSACTIONS { ON | OFF }
如果设置为ON,SETIMPLICIT_TRANSACTIONS将连接设置为隐式事务模式。如果设置为OFF,则使连接恢复为自动提交事务模式。
- 变量和数据库事务
- 数据库事务和Hibernate事务
- 数据库事务 和spring事务
- 数据库设计和事务
- 数据库事务和锁
- 数据库事务和锁
- 数据库事务和锁
- 数据库事务和锁
- 数据库事务和并发
- 数据库事务和范式
- 数据库事务和锁
- 数据库事务和锁
- 数据库的事务及变量声明方法
- 数据库事务和事务隔离级别
- 数据库的锁,事务和事务隔离
- hibernate事务之数据库事务和系统事务
- 数据库的事务和锁
- 数据库引擎-事务和并发
- Vim之删除重复行
- WLAN驱动分析文档_gzc126_新浪博客
- wifi driver 学习笔记 - gangyanliang的专栏 - 博客频道 - CSDN.NET
- Linux 驱动分析--s3c6410 的SDIO驱动分析-bluedrum-ChinaUnix博客
- SDIO驱动总结 - Dybinx的专栏 - 博客频道 - CSDN.NET
- 变量和数据库事务
- activiti5 Junit4 Spring测试环境搭建
- WLAN驱动分析文档_gzc126_新浪博客
- 主题:同步/异步及阻塞/非阻塞
- Linux MMC/SD/SDIO体系结构 - 谦虚 勤奋就能更强 - 51CTO技术博客
- Linux 驱动分析--s3c6410 的SDIO驱动分析-bluedrum-ChinaUnix博客
- SDIO总线 驱动 - Dybinx的专栏 - 博客频道 - CSDN.NET
- 基于S3C2410的SD卡linux驱动工作原理(二)
- 关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析