触发器问题
时间:2011-12-20
来源:互联网
想做一个触发器能够实现,A表插入数据后,根据cwh的不同更新插入数据的ccode值
update语句直接使用可以更新,但是放到触发器里边以后就不可以。请各位帮帮忙,以下是代码
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'T_INSERT_A')
DROP TRIGGER T_INSERT_T_INSERT_A
GO
CREATE TRIGGER T_INSERT_T_INSERT_A
ON A
for INSERT
AS
----提交事务处理
BEGIN TRANSACTION
--强制执行下列语句,保证业务规则
UPDATE A
SET ccode = '9' + ccode
WHERE cwh IN (23,24) and id in (select id from inserted)
COMMIT TRANSACTION
update语句直接使用可以更新,但是放到触发器里边以后就不可以。请各位帮帮忙,以下是代码
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'T_INSERT_A')
DROP TRIGGER T_INSERT_T_INSERT_A
GO
CREATE TRIGGER T_INSERT_T_INSERT_A
ON A
for INSERT
AS
----提交事务处理
BEGIN TRANSACTION
--强制执行下列语句,保证业务规则
UPDATE A
SET ccode = '9' + ccode
WHERE cwh IN (23,24) and id in (select id from inserted)
COMMIT TRANSACTION
作者: xemljj 发布时间: 2011-12-20
不用加事务吧这里
作者: pengxuan 发布时间: 2011-12-20
SQL code
UPDATE A SET ccode = '9' + i.ccode from a inner join inserted i on a.id=i.id WHERE cwh IN (23,24) and id in (select id from inserted)
作者: fredrickhu 发布时间: 2011-12-20
终于找到原因了,是因为先执行了触发器后来执行了insert语句。
作者: xemljj 发布时间: 2011-12-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28