我試圖在表上創建Update觸發器。目的是保持對該表進行更改的審計跟蹤。 代碼是很長,所以我會盡力在這裏簡化它:SQL Update觸發器將NULL與值進行比較
當TBL1更新是:
@NewFirstName = FirstName
@NewLastName = LastName
從插入
@OldFistName = FirstName
@OldLastName = LastName
已刪除
現在我想創建一個字符串,告訴用戶這樣的事情: ID1已經從約翰變成了邁克爾
這裏是我的代碼有
if (@OldFistName <> @NewFirstName)
set @AuditString = @AuditString + ' NewFirstName from ' + cast(@OldFistName as varchar) + ' to ' + cast (@NewFirstName as varchar) + ','
我現在面臨的問題是,在數據庫中的許多領域都有空值。因此,例如,如果FistName爲NULL,則代碼將不起作用,因爲它將NULL與某些東西進行比較,這會讓我爲null。
有沒有辦法解決這個問題?
我正在使用SQL Server 2008
我想過這個問題,但它不會工作,因爲我不想做任何事情,所有的NULL。我只想要形成的字符串是一個NULL並且值已更改。我只是想出瞭如何做到這一點。 – user2343837