有错误sql命令的事务
2011-10-26 19:06
99 查看
SELECT [stuid]
,[stuno]
,[name]
,[sex]
,[age]
,[address]
,[telphone]
FROM [UFMeta_001].[dbo].[Student]
GO
INSERT INTO student VALUES (101,'zhangsan','zhangsan',0,13,'zhangsan','zhangsan')
INSERT INTO student VALUES (102,'wangwu','zhangsan',0,13,'zhangsan','zhangsan')
INSERT INTO student VALUES (103,'lishi','zhangsan',0,13,'zhangsan','zhangsan')
INSERT INTO student VALUES (104,'maliu','zhangsan',0,13,'zhangsan','zhangsan')
创建外键引用表
CREATE TABLE score
(
stuid [nvarchar](50) NOT NULL REFERENCES student(stuid),
score int
)
GO
set XACT_abort off
begin transaction ab
insert into score values('101',100)
insert into score values('105',100)--不符合外键约束,无法插入。
insert into score values('102',100)
insert into score values('103',100)
insert into score values('104',100)
commit transaction ab
select * from score
执行后:
stuid score
101 100
102 100
103 100
104 100
有错误操作的事务,事务里面包含的sql命令完整执行的情况。(需要设置XACT_abort )
,[stuno]
,[name]
,[sex]
,[age]
,[address]
,[telphone]
FROM [UFMeta_001].[dbo].[Student]
GO
INSERT INTO student VALUES (101,'zhangsan','zhangsan',0,13,'zhangsan','zhangsan')
INSERT INTO student VALUES (102,'wangwu','zhangsan',0,13,'zhangsan','zhangsan')
INSERT INTO student VALUES (103,'lishi','zhangsan',0,13,'zhangsan','zhangsan')
INSERT INTO student VALUES (104,'maliu','zhangsan',0,13,'zhangsan','zhangsan')
创建外键引用表
CREATE TABLE score
(
stuid [nvarchar](50) NOT NULL REFERENCES student(stuid),
score int
)
GO
set XACT_abort off
begin transaction ab
insert into score values('101',100)
insert into score values('105',100)--不符合外键约束,无法插入。
insert into score values('102',100)
insert into score values('103',100)
insert into score values('104',100)
commit transaction ab
select * from score
执行后:
stuid score
101 100
102 100
103 100
104 100
有错误操作的事务,事务里面包含的sql命令完整执行的情况。(需要设置XACT_abort )
相关文章推荐
- 《SQL Server 2005技术内幕:T-SQL程序设计》:继续抄录事务、错误处理、Service Broker等三章中的部分内容
- t-sql中的事务控制及错误处理
- 转换SQL命令中的数据类型出现的错误
- 《SQL Server 2005技术内幕:T-SQL程序设计》:继续抄录事务、错误处理、Service Broker等三章中的部分内容
- sql 2005出现错误:数据库 'Twitter' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
- 今天打开网站,突然发现sql 2005出现错误:数据库 'mybase_db' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
- telnet或SQLplus下命令输入错误如何删掉重新输入
- 曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑
- 业务逻辑>数据层>SqlDataSource>处理sql命令执行错误
- SQLplus下命令输入错误如何删掉重新输入
- t-sql中的事务控制及错误处理
- PL/SQL 一个数据对象一个事务(且记录错误信息到处理对象)(rollback,submit)
- SQL操作access文件出现事务回滚错误
- 今天打开网站,突然发现sql 2005出现错误:数据库 'mybase_db' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
- sql事务的隔离级别以及一些MYSQL的命令
- aspnet_regsql.exe命令出现连接不上sql server2005错误原因
- oracle-SQL语言基础-事务控制命令命令
- SQL控制事务之commit命令用法详解
- Linux中SQLPLUS上下键不能显示历史命令的问题/输入错误不能回退问题 rlwrap解决
- SQL事务发布错误:当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR...