这个事务为何不起作用
我的数据库为SQL2005 SP1
在数据库中定义了如下的一个表:
CREATE TABLE [dbo].[NsCostRec](
[FStockID] [int] NOT NULL,
[FItemID] [int] NOT NULL,
[FDate] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[FAmount] [decimal](18, 6) NOT NULL,
[FAmount1] [decimal](18, 6) NOT NULL,
[FPreAmount] [decimal](18, 6) NOT NULL,
CONSTRAINT [PK_NsCostRec] PRIMARY KEY CLUSTERED
(
[FStockID] ASC,
[FItemID] ASC,
[FDate] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
--
FStockID,FItemID,FDate为主键
--执行下面一个事务
begin tran
update AXiStockInto set FTheFirstTimeID=2,FTheFirstTimeDate='2009-04-10',FTheFirstTimeTime='08:57:22' where finterid=93
insert into NsCostRec(FStockID, FItemID, FDate, FAmount, FAmount1, FPreAmount) values(1773, 1815, '2009-04-09', 1200.000015, 1200.000000, 0.000000)
insert into NsCostRec(FStockID, FItemID, FDate, FAmount, FAmount1, FPreAmount) values(1773, 1815, '2009-04-09', 1200.000015, 1200.000000, 0.000000)
if @@Error=0
begin
commit tran
end
else
begin
rollback tran
end
出现:
-----------
(1 行受影响)
(1 行受影响)
消息 2627,级别 14,状态 1,第 1 行
违反了 PRIMARY KEY 约束 'PK_NsCostRec'。不能在对象 'dbo.NsCostRec' 中插入重复键。
语句已终止。
----------
的提示
此时我的表中已经被写入了数据,事物并没有回滚。
在数据库中定义了如下的一个表:
CREATE TABLE [dbo].[NsCostRec](
[FStockID] [int] NOT NULL,
[FItemID] [int] NOT NULL,
[FDate] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[FAmount] [decimal](18, 6) NOT NULL,
[FAmount1] [decimal](18, 6) NOT NULL,
[FPreAmount] [decimal](18, 6) NOT NULL,
CONSTRAINT [PK_NsCostRec] PRIMARY KEY CLUSTERED
(
[FStockID] ASC,
[FItemID] ASC,
[FDate] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
--
FStockID,FItemID,FDate为主键
--执行下面一个事务
begin tran
update AXiStockInto set FTheFirstTimeID=2,FTheFirstTimeDate='2009-04-10',FTheFirstTimeTime='08:57:22' where finterid=93
insert into NsCostRec(FStockID, FItemID, FDate, FAmount, FAmount1, FPreAmount) values(1773, 1815, '2009-04-09', 1200.000015, 1200.000000, 0.000000)
insert into NsCostRec(FStockID, FItemID, FDate, FAmount, FAmount1, FPreAmount) values(1773, 1815, '2009-04-09', 1200.000015, 1200.000000, 0.000000)
if @@Error=0
begin
commit tran
end
else
begin
rollback tran
end
出现:
-----------
(1 行受影响)
(1 行受影响)
消息 2627,级别 14,状态 1,第 1 行
违反了 PRIMARY KEY 约束 'PK_NsCostRec'。不能在对象 'dbo.NsCostRec' 中插入重复键。
语句已终止。
----------
的提示
此时我的表中已经被写入了数据,事物并没有回滚。
...全文
相关推荐
请教:spring事务不起作用
NULL 博文链接:https://tywo45.iteye.com/blog/267836
SpringBoot内部调用事务不起作用问题的解决方案
主要介绍了SpringBoot事务不起作用问题的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
解决springboot的aop切面不起作用问题(失效的排查)
主要介绍了解决springboot的aop切面不起作用问题(失效的排查),具有很好的参考价值,希望对大家有所帮助。 一起跟随小编过来看看吧
springmvc事务配置在service.zip
springmvc事务配置在service
Spring3事务管理——使用@Transactional 注解.rar
Spring3事务管理——使用@Transactional 注解.rar


疑难问题
