2014年3月18日 星期二

[SQL] TRIGGER 記錄登錄時間 但不能影響更新資料

  1. IF EXISTS (SELECT * FROM sys.triggers WHERE name='trigger_logindate')
  2. DROP TRIGGER trigger_logindate
  3. GO
  4.  
  5. CREATE TRIGGER trigger_logindate ON ACCOUNT after UPDATE
  6. AS
  7.     BEGIN
  8.         IF EXISTS(SELECT 1 FROM DELETED)
  9.         AND EXISTS (SELECT 1 FROM INSERTED)
  10.         AND (SELECT CONVERT(VARCHAR, LAST_LOGIN_DATE, 120) FROM INSERTED)
  11.                 = CONVERT(VARCHAR, GETDATE(), 120)
  12.        
  13.         INSERT INTO LOG_LOGIN(ACCOUNT_ID, LOGIN_DATE)
  14.         SELECT I.USER_ID, I.LAST_LOGIN_DATE
  15.         FROM INSERTED I
  16.         JOIN DELETED D ON I.USER_ID = D.USER_ID
  17.        
  18.     END

沒有留言:

張貼留言