【发布时间】:2014-01-08 01:50:25
【问题描述】:
我正在尝试在表上创建更新触发器。目的是保留对该表所做更改的审计跟踪。 代码比较长,这里尽量简化一下:
当 tbl1 发生更新时:
@NewFirstName = FirstName
@NewLastName = LastName
从插入
@OldFistName = FirstName
@OldLastName = LastName
来自已删除
现在我想创建一个字符串来告诉用户这样的事情: ID1 已从 John 更改为 Michael
这是我的代码
if (@OldFistName <> @NewFirstName )
set @AuditString = @AuditString + ' NewFirstName from ' + cast(@OldFistName as varchar) + ' to ' + cast (@NewFirstName as varchar) + ','
我面临的问题是数据库中的许多字段都有 NULLS。因此,例如,如果 FistName 为 NULL,则代码将无法工作,因为它将 NULL 与某些东西进行比较,这给了我 null。
有没有办法解决这个问题?
我使用的是 SQL Server 2008
【问题讨论】:
标签: sql sql-server sql-server-2008 triggers sql-update