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