3
我有一个触发下面的代码:SQL Server 2000和SQL Server 2005中的触发器行为:任何更改?
create trigger trPassDat
ON men
FOR INSERT, UPDATE
AS
declare @man int;
select @man = I.man from men U join inserted I on U.man = I.man
if Not exists (select 'True' from deleted where man = @man)
BEGIN
update men set passdate = getdate() where man = (select man from inserted)
return
END
-- UPDATE
if update(pwd)
BEGIN
update men set passdate = getdate() where man = @man
END
GO
这是应该更新密码日期:无条件的,如果我们处理的插入,但密码日期应该改变只有当一个更新真的改了密码。
这适用于SQL Server 2000,但不适用于SQL Server 2005.我相当肯定地做了一些愚蠢的事,但为了防万一,有人知道SQL Server 2000和2005之间可能会影响到某些变化这个触发器的行为?即,update()函数?
是的,它现在不能正常工作,它只是没有给出错误! – HLGEM 2010-09-14 17:38:29