2017-08-25 46 views
1

晚报存储过程,T-SQL - 存储插入/更新一个表中的记录

我已经在一个组织中,其中涉及大包一个巨大的SSIS解决方案将数据推送到全国各地,包括服务器之间的地方开始。开发它的人已经离开了,我已经完成了计算并调试它的任务...

我已经制作了一些相当丰富的DFD来绘制存储过程,表,视图之间的关系等等,但有一些表格,我发现不可能确定插入/更新它的过程。

我想要做的是在每次表写入时使用默认值关注的表上创建一些字段。

  • 字段1,
  • 字段2,
  • 等...
  • '日期时间记录增加了'
  • '是第一次插入的记录过程',
  • '日期时间记录的最后更新'
  • '
  • '最近更新过程记录'

其中过程值的格式将为'Server.Database.schema.UspName'

我查看了sysprocesses并在网上搜索,找不到解决方案。有任何想法吗?

{使用SSMS 2014}提前

感谢,

+0

请注意 - 添加或修改列可能会导致其他进程失败。如果您看到“select *”或“insert table select”的用法(即不在insert语句中指定列列表),则会发生不好的事情。为特定表名称过滤的服务器端跟踪是另一种选择。 – SMor

+0

感谢SMor,我正在使用DEV环境来弄清楚这个过程。一旦我设法了解它在做什么,我们将完全重写它以简化流程,并且我希望将这些列添加到未来的故障排除中。 – SliderSteve

回答

0

看看下面的链接。它描述了如何通过触发器获取有关调用实例的信息。 How to get the stored procedure name from a trigger when an update operation was performed?

+0

一位同事提出了一个触发器,但我们担心性能下降。我认为这可以用于一次性错误检查,但我希望能够向每个表添加代码并将其留在那里。 – SliderSteve

+0

我确实设法得到以下内容,以便为首次插入记录的usp工作,但在记录更新时不起作用:(object_name(@@ procid)) – SliderSteve

相关问题