高分悬赏:触发器问题

killcat 2003-11-07 03:22:26
有两个表都对insert编写了触发器,在同时运行两条插入语句时,却只执行第一条,取消触发器后两条都能运行。
例:
表一:a,表二:b ,表三:c

表a触发器中内容就是对c表增加一条数据(触发器正确)
表b触发器中内容也是对c表增加一条数据(触发器正确)

insert into a(col1) values('11')
insert into b(col1) values('12')
insert into b(col1) values('13')

我在查询分析器中批处理以上三条插入语句时,只运行第一条语句,而把表a的触发器去掉后,前两条语句就都能一起执行了,表b中触发器去掉后,三条都能一起执行了。
想请教高手,怎么才能使触发器存在,而又可以多条语句同时执行?

...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinamagic 2003-11-07
  • 打赏
  • 举报
回复
是触发器中语句的问题,你是不是在触发器中写了commit transaction?
如果是,把这这句话删掉就可以了.
sdhdy 2003-11-07
  • 打赏
  • 举报
回复
--应该还是你的触发器问题
--建立测试环境
create table a(col1 varchar(100))
go
create table b(col1 varchar(100))
go
create table c(col1 varchar(100))
go
create trigger tri_a_insert on a
for insert
as
insert c select * from inserted
go
create trigger tri_b_insert on b
for insert
as
insert c select * from inserted
go
insert into a(col1) values('11')
insert into b(col1) values('12')
insert into b(col1) values('13')
go
select * from c
-----------------------------------
11
12
13
txlicenhe 2003-11-07
  • 打赏
  • 举报
回复
楼主的代码是怎样的?

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧