sql server - 數據庫觸發器

sql server - 數據庫觸發器

在過去,我從來都不喜歡在數據庫表上使用觸發器。 對我來說,他們總是代表著一些將要在數據庫端發生的“魔術”,遠離我的應用程序代碼的控制。 我也想限制數據庫必須做的工作量,因為它通常是一個共享資源,我總是認為觸發器在高負載情況下會變得很昂貴。 也就是說,我發現了一些觸發器有意義使用的情況(至少在我看來是有道理的)。 不過最近,我發現自己處於有時可能需要“繞過”觸發器的情況。 我感到非常內疚,不得不…


sql server - 在SQL服務器查詢中關閉NOCOUNT有哪些優缺點?

在SQL服務器查詢中關閉NOCOUNT有哪些優缺點?…


SQL Server“AFTER INSERT”觸發器不會看到剛剛插入的行

考慮這個觸發器: ALTER TRIGGER myTrigger ON someTable AFTER INSERT AS BEGIN DELETE FROM someTable WHERE ISNUMERIC(someField)=1 END 我有一個表,someTable,我試圖阻止人們插入不良記錄。 為了這個問題的目的,一個不好的記錄有一個字段“…


sql server - 插入更新觸發器如何確定是否插入或更新

我需要在表A上編寫一個Insert,Update Trigger,它將刪除表B中所有行,其中一列(稱為Desc)具有類似於表A的列(例如Col1)中插入/更新的值。 我將如何去寫它,以便我可以處理更新和插入案例。 我將如何確定是否為更新或插入執行觸發器。…



sql - SET NOCOUNT ON用法

受到SET NOCOUNT有不同觀點的這個問題的啟發... 我們應該使用SQL Server的SET NOCOUNT ON嗎? 如果不是,為什麼不呢? 它的作用編輯6,2011年7月22日 它會在任何DML之後抑制“xx rows affected”消息。 這是一個結果集,當發送時,客戶端必須處理它。 它很小,但是可以測量(見下面的答案) 對於觸發器等,客戶端將收到多個“受影響的xx行”…


sql - 什麼是創建數據庫觸發器插入,修改和刪除正確的語法

我有什麼似乎是SQL服務器中的數據庫觸發器的基本情況,我遇到了一個問題。 我有表用戶(ID,名稱,電話等),我有表UsersHistory(ID, USER_ID行動,領域,時間戳) 我想要一個數據庫觸發器,在任何時候插入,更新或刪除到用戶,我想要一個新的記錄創建UsersHistory與用戶ID和已完成的操作(插入新的,更新的字段,刪除的ID基本上審計日誌表。 這是我有多遠,但我不知…


SQL Server中的表歷史觸發器?

我想創建一個觸發器,寫入一個歷史記錄表插入值和更新值之前和之後。 我還想盡可能多地包含更新帳戶的信息。 我如何將帳戶信息包含在我的觸發器中? 這是我到目前為止: CREATE TRIGGER[update_history] ON MyTable FOR UPDATE AS INSERT MyTable_History(id, BudgetNumber, PositionNumber, Mo…


SQL更新查詢在觸發器中導致兩行

我使用SQL Server 2005,並有以下問題: 在table A,我有一個跟踪任何插入/更新/刪除的觸發器。 跟踪的記錄被插入到審計表( aAudit)中。 當我在A上運行更新時,每次更新都會在審計表中看到兩行,這不是我所期望的。 這是我定義的觸發器: ALTER TRIGGER[ATrigger] ON[dbo].[A] FOR INSERT, UPDATE, DELETE AS…


sql server - 觸發和禁用“受影響的行”消息

我有一個觸發器類型INSTEAD插入,更新。 它看起來如下所示: IF EXISTS(some select staement) updade set where ELSE IF(some other select staement) insert values ELSE--(3) RAISERROR('msg',16,1) RETURN; SET NOCOUNT…


sql server - 是INSERT觸發器遞歸,還是導致無限循環?

我有一個表上的INSERT觸發器。 在表中插入一行時,會觸發INSERT觸發器。 觸發器的行為是這樣的,它會插入另一行到同一個表中 。 INSERT語句的結果是什麼? 這個INSERT結果是無限循環,還是僅僅是預期的2個插入?…




sql set nocount server update log insert example changes triggers