XACT_ABORT为默认为off事务发生约束性错误会继续运行,为on发生约束性错误时会rollback

本文整理于2012-4

IF OBJECT_ID(N‘t2‘, N‘U‘) IS NOT NULL
DROP TABLE t2;
GO
IF OBJECT_ID(N‘t1‘, N‘U‘) IS NOT NULL
DROP TABLE t1;
GO
CREATE TABLE t1
(a INT NOT NULL PRIMARY KEY);
CREATE TABLE t2
(a INT NOT NULL REFERENCES t1(a));
GO
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (6);
GO
SET XACT_ABORT OFF;
GO
BEGIN TRANSACTION;
INSERT INTO t2 VALUES (1);
INSERT INTO t2 VALUES (2); -- Foreign key error.
INSERT INTO t2 VALUES (3);
COMMIT TRANSACTION;
GO
SET XACT_ABORT ON;
GO
BEGIN TRANSACTION;
INSERT INTO t2 VALUES (4);
INSERT INTO t2 VALUES (5); -- Foreign key error.
INSERT INTO t2 VALUES (6);
COMMIT TRANSACTION;
GO

时间: 2024-10-22 18:15:16

XACT_ABORT为默认为off事务发生约束性错误会继续运行,为on发生约束性错误时会rollback的相关文章

如何解决:新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误

问题概述: 在新建Android程序的时候出现以下错误: 找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 原因: SDK不完整. 解决方法: 方法一 可在 \android-sdk-windows\tools\lib\目录下新建一个proguard.cfg文件 然后添下以下内容: proguard.cfg -optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibr

管家婆SQL SERVER数据库“可能发生了架构损坏。请运行DBCC CHECKCATALOG”修复

用户在使用过过程中,由于突然断电,造成数据无法读取.DBCC检测数据库提示以下错误 消息211,级别23,状态51,第1 行 可能发生了架构损坏.请运行DBCC CHECKCATALOG. 消息0,级别20,状态0,第0 行 当前命令发生了严重错误.应放弃任何可能产生的结果. 如果DBCC检测出现“可能发生了架构损坏.请运行DBCC CHECKCATALOG “这种错误,肯定是系统表出现错误,先使用DBCC CHECKCATALOG对数据库做检测,但发现没有错误. DBCC 执行完毕.如果DBC

金蝶12.0 SQL SERVER数据库可能发生了架构损坏,请运行 DBCC CHECKCATALOG的错误修复

客户的数据库报错联系到我们,我们的工程师拿到客户数据后,对数据库DBCC Checkdb修复,报“消息211,级别23,状态51,第1 行 可能发生了架构损坏.请运行DBCC CHECKCATALOG.” 消息 0,级别 20,状态 0,第 0 行 当前命令发生了严重错误.应放弃任何可能产生的结果. 错误截图如下: 看来用SQL SERVER自身命令是无法修复了,出现这种错误一般是系统表损坏,修复方法一般有以下两种: 第一种方法是使用数据库修复软件把数据提取成脚本,然后再重新生成数据库.这种方法

解决spring 事务管理默认不支持SQLException等运行时异常

公司同事在定位一个bug时,发现spring默认的事务只支持运行时异常的回滚,对于像SQLException这样的非运行时异常,默认的事务机制不能处理,于是找了下解决的办法:    1.在捕获SQLException的时候,抛出一个RuntimeException及其子类,例如:     try {               xxx        } catch (Exception e) {               throw new ModuleException();       }

发生未知错误,请确认!系统发生错误,错误代码:0x80070005,请联系当地经销商或者致电8598000-8382!

如果你在使用管家婆过程中遇到下列问题: 管家婆分销ERP V3/A8 "发生未知错误,请确认!发生未知错误" 这种问题,一般是由于破解补丁,回传未破解彻底,导致数据库被锁死!! 需要精准分析锁死数据库部分,进行回传限制级处理才可以继续使用. 一.安装问题 ①安装失败②升级失败③下载不了最新安装包④更换服务器⑤管家婆安装在云端上加密狗共享及数据库同步备份解决方案 二.登录问题 ①silverlight插件安装出现错误代码②输了用户名和密码无法登录③无法显示账套④登录密码忘记⑤后台密码丢失

PHP自动捕捉监控致命错误(500错误) error_get_last() 获取最后一次发生错误信息 register_shutdown_function()在脚本停止执行时注册一个回调函数

通常程序发生致命错误的时候页面空白,想获取错误信息也不难!主要是利用两个函数:error_get_last() 获取最后一次发生错误信息:print_r()后结构如下: Array ( [type] => 8 [message] => Undefined variable: a [file] => C:\WWW\index.php [line] => 2 ) register_shutdown_function()在脚本停止执行时注册一个回调函数: error_reporting(

oracle的约束隐式创建索引和先索引后约束的区别

两种情况:1.对于创建约束时隐式创建的索引,在做删除操作的时候: 9i~11g都会连带删除该索引 2.对于先创建索引,再创建约束(使用到此索引)这种情况:9i版本:需要区分索引是否唯一: 如果索引是唯一的,则删除约束的时候,会连带删除索引:如果非唯一的,则不会删除索引.10g以后版本,包括11g:无论索引是否唯一,都只是删除约束,索引不会删除. 参考metalink文档:309821.1 实验验证下$ ss SQL*Plus: Release 11.2.0.3.0 Production on W

springCloud分布式事务实战(四)分布式事务处理器的下载,编译和运行

(1)下载分布式事务处理器工程源码https://github.com/codingapi/tx-lcn/(2)导入eclipse (3)修改配置文件填写分布式事务服务器地址,redis地址 ,注册中心地址#服务端口server.port=7000#tx-manager不得修改spring.application.name=tx-manager spring.mvc.static-path-pattern=/**spring.resources.static-locations=classpat

可能发生了架构损坏。请运行 DBCC CHECKCATALOG。

SQL 2005 修改系统表 本文由 www.sqlstudy.com 原创,版权所有,转载请注明作者和出处! 在 SQL Server 2000 中修改系统表的方法大部分人都知道,介绍如何在 SQL 2005 中修改系统表的资料目前还比较少,虽然微软不赞成修改系统表,而且也把修改系统表的代码隐藏起来了.但微软一贯喜欢给自己留个小后门.我是这么想的:最先知道如何修改 SQL 2005 系统表的人只有微软 SQL Server 2005 的设计.开发者.于是就到 msdn 中逛逛,最后终于找到了