2017-08-25 47 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

相關問題