CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

同一事务内,A表触发器能否访问B表的新增数据?

楼主sbks(hwnd,&rect)2005-06-01 11:57:37 在 MS-SQL Server / 基础类 提问

在一个transaction内,会提交主表A与子表B。应用程序的代码应该是先向A表insert,再向B表insert(我用事件探测器观察到的,因为应用程序是别人开发的,我手头上没代码)。  
   
  现在我打算在A表加一触发器,用来把B表的一些字段的汇总数填写到A表中,此时,A表的触发器当然可以访问在A表的新增数据,但是否可以访问B表的新增数据(在B表的inserted区)呢?  
   
  当然我可以在B表的触发器中实现统计汇总回填表A的功能。但是,B表的触发器已经被加密了,我无法追加代码。 问题点数:100、回复次数:5Top

1 楼zjcxc(邹建)回复于 2005-06-01 12:00:14 得分 100

A表触发器不能访问B表触发器中的数据(B表新增的数据)Top

2 楼zjcxc(邹建)回复于 2005-06-01 12:01:52 得分 0

既然你是从B表新增数据汇总后,添加到A表,证明A/B表之间有关联.  
   
  你可以直接在B表创建一个触发器完成你的汇总统计工作(一个表可以有多个触发器,可以有多个insert,update,delete触发器)  
   
  所以你并不需要在原触发器基础上追加处理代码.Top

3 楼zjcxc(邹建)回复于 2005-06-01 12:02:33 得分 0

多个触发器  
  SQL   Server   允许为每个数据修改事件(DELETE、INSERT   或   UPDATE)创建多个触发器。例如,如果对已有   UPDATE   触发器的表执行   CREATE   TRIGGER   FOR   UPDATE,则将创建另一个更新触发器。在早期版本中,在每个表上,每个数据修改事件(INSERT、UPDATE   或   DELETE)只允许有一个触发器。    
   
   
   
  说明     如果触发器名称不同,则   CREATE   TRIGGER(兼容级别为   70)的默认行为是在现有的触发器中添加其它触发器。如果触发器名称相同,则   SQL   Server   返回一条错误信息。但是,如果兼容级别等于或小于   65,则使用   CREATE   TRIGGER   语句创建的新触发器将替换同一类型的任何现有触发器,即使触发器名称不同。  
  Top

4 楼zjcxc(邹建)回复于 2005-06-01 12:03:02 得分 0

另外,你也可以对加密的触发器进行解密.   网上搜索一下,很多工具都可以.Top

5 楼sbks(hwnd,&rect)回复于 2005-06-01 12:05:47 得分 0

谢谢邹老大:)  
   
  结贴Top

相关问题

  • 触发器和事务
  • 触发器与事务的问题!
  • 求一触发器:A表新增或删除记录时,B表的某一字段将相应的增加或减少
  • 触发器事务问题,请教高手.
  • 关于触发器中事务回滚 求助
  • 触发器与事务有什么区别?
  • 触发器中运用事务的问题。
  • 用了触发器就不能回滚事务处理,怎么办?
  • 邹健等高人请进***触发器事务严重问题****(高分)
  • 有关触发器和事务的问题,请大虾们多多指教!急!

关键词

  • 数据
  • 代码
  • 触发器
  • b表
  • 新增
  • 访问
  • 汇总
  • 创建
  • 名称
  • insert

得分解答快速导航

  • 帖主:sbks
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo