触发器修改另外一个表,却不能触发该表的触发器的问题?

kwer 2008-06-12 10:31:45
我在一个表(物料信息)写了一个触发器
AFTER UPDATE
AS
if update(price)
begin
--保存原始单价到历史记录表中(Insert)
end


另外一个表的触发器修改了这个表的单价,修改成功
可是在历史记录中没有数据,说明触发器没有被触发?






...全文
127 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称被占用了 2008-06-12
  • 打赏
  • 举报
回复
少个end会报错的,那样就是触发器根本就没有
昵称被占用了 2008-06-12
  • 打赏
  • 举报
回复
企业管理器
找到你的服务器
属性
服务器选项
允许激发会激发其他触发器(嵌套触发器)的触发器 钩上
确定
kwer 2008-06-12
  • 打赏
  • 举报
回复
问题找到了,晕
原来是
if update(修改字段)
begin
...
end
修改后

if update(修改字段)
begin
...
if update(price)
begin
print '触发了吗'
--保存原始单价到历史记录表中(Insert)
end

end <-- 问题出在这里

我说呢

接分!


kwer 2008-06-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liangCK 的回复:]
看你怎样保存的

AFTER UPDATE
AS
if update(price)
begin
print '触发了吗'
--保存原始单价到历史记录表中(Insert)
end
[/Quote]

怎么弄都没有触发,哈,看来事情挺严重

谢谢,找原因去了
wzy_love_sly 2008-06-12
  • 打赏
  • 举报
回复
create trigger triname
on 表
for update
as
begin
if update(列)
insert into 表2(a,b,c) select a,b,c from deleted
end
lff642 2008-06-12
  • 打赏
  • 举报
回复
查下.触发器有没有启用?
lff642 2008-06-12
  • 打赏
  • 举报
回复
批量修改?
liangCK 2008-06-12
  • 打赏
  • 举报
回复
看你怎样保存的

AFTER UPDATE
AS
if update(price)
begin
print '触发了吗'
--保存原始单价到历史记录表中(Insert)
end

34,576

社区成员

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

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