2009-08-04 27 views
1

Sql Server 2005でテーブルの最終更新日時を取得する方法はありますか?好ましくはトリガーを作成せずに..Sql Server 2005で最終更新日時を取得する方法は?

そしてデータベースのために?

EDITこの質問の解決策は、CREATE修飾とALTER修飾のみを検討しました。 INSERT、UPDATEおよびDELETEこれは最古の最新の変更からすべてのオブジェクトタイプの一覧を表示しますmy next question

答えて

1

、あなたは簡単に、必要に応じて変更することができます見てください...

DECLARE @SearchParams varchar(500) 
SET @SearchParams='yourObjectName' 

SELECT 
    CONVERT(varchar(23),modify_date,121) AS modify_date 
     ,type_desc 
     ,name 
    FROM sys.objects 
    WHERE is_ms_shipped=0 AND name LIKE '%'[email protected]+'%' 
    ORDER BY modify_date DESC 

あなただけのテーブルをしたい場合は、試してみてください。テーブルオブジェクト(テーブル定義)が最後に変更されたとき

DECLARE @SearchParams varchar(500) 
SET @SearchParams='YourTableName' 
SELECT 
    CONVERT(varchar(23),modify_date,121) AS modify_date 
     ,type_desc 
     ,name 
    FROM sys.objects 
    WHERE type='U' 
     AND name LIKE '%'[email protected]+'%' --can use "[email protected]" if you have the entire table name 
    ORDER BY modify_date DESC 
+0

それは動作しますが、それは私が期待したものではありませんでした。私はその質問を言い換えるつもりです。 –

+0

質問の本文 –

1

KMのソリューションが表示されます。与えられた行内のデータが最後に更新された(または挿入された、または削除された)ときを判断する組み込みの方法はありません。私がこれまでに見つけた信頼性の高い99%の方法は、トリガーを使用することです。その1%はトラブルメーカーがトリガーを無効にしたときを表しています。

+1

の言い換えられた質問を言い換えてリンクしました。私はOPの質問から「テーブルの変更」=テーブル構造の変更を考えていました。 "テーブルの変更" =挿入/更新/削除すると@Philip Kelleyが正しい場合、トリガが必要です。変更を追跡するためにantotherテーブルの最後に変更された行を更新すると気になります。 –

+0

すばらしいコメントKM。 –

関連する問題