首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

從 SQL Server 系統表查詢使用者資料表最後修改時間

     編輯:關於SqlServer

快速查詢

在 sysobjects 系統表中,refdate 欄位會在每次執行 ALTER TABLE 時自動更新為目前時間。若資料表是透過 CREATE TABLE 建立,則 crdate 記錄建立時間。

查詢範例

-- 查詢所有使用者資料表的建立時間與最後修改時間
SELECT 
    name AS TableName,
    crdate AS CreateDate,
    refdate AS LastAlterDate
FROM sysobjects
WHERE type = 'U'  -- User Table
ORDER BY refdate DESC;

說明

  • crdate:資料表建立時間(CREATE TABLE 時設定)。
  • refdate:資料表結構最後修改時間(每次 ALTER TABLE 更新)。
  • 此方法適用於 SQL Server 7.0 / 2000 / 2005 及更新版本。

進階:追蹤資料修改(非結構)

若需知道資料列層級的最後修改時間,需自行在資料表加入 LastModified DATETIME DEFAULT GETDATE() 欄位,並在 UPDATE 觸發器中維護,或使用 CHANGE TRACKING / CDC(SQL Server 2008+)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved