T-Sql

我如何找出某個列中的值何時發生變化?

  • April 7, 2021

如果有人可以提供,需要幫助!

我目前有我的 select 語句從表中返回 TOP 1000 * 結果。它們是目前活動的 CC 號碼。我想看看如何編寫一個查詢來告訴我 CC 號碼發生了什麼變化。

如果發生了變化,它將向列出的人員發送報告。如果什麼都不做,那麼它什麼也不做。它僅在發生某些事情時才採取行動。我們有一個內部系統可以完成自動化部分……我只需要一個 select 語句來返回已更改的內容。如果我能在這方面得到一些幫助,那就太棒了!

謝謝!

如果您還沒有自己在使用者定義的表中記錄更改,那麼您需要實現一個功能來為您執行此操作。以下是您可以用來完成此操作的功能列表:

  1. 觸發器- 每當表中的數據更改時觸發,可以實現類似於在儲存過程上下文中的邏輯。
  2. 臨時表- 跟踪更改的使用者定義表的系統版本副本。
  3. 更改跟踪- 自動跟踪使用者定義表的更改。
  4. 更改數據擷取- 跟踪對指定使用者定義表的DML更改。
  5. 審計- 在伺服器級別自動跟踪大量操作。

這正是觸發器的作用。請查看https://www.sqlservertutorial.net/sql-server-triggers/>或<https://www.sqlshack.com/triggers-in-sql-server/https://www.mssqltips.com /sqlservertip/5909/sql-server-trigger-example/您將找到更多資訊。

如果您只需要更新觸發器,它將類似於:

create trigger triggername on yourtable for update as begin yourcommands end;

希望能幫助到你。

引用自:https://dba.stackexchange.com/questions/289382