6

私は MS SQL Server 2008 を使用しており、SQL ジョブによって毎日午前 6 時に挿入されるデータを含む SQL テーブルがあります。私が抱えている問題は、一部のデータがジョブに個別に挿入されており、このデータがいつ追加されたかを知る必要があることです。

これを表示するために実行できるクエリはありますか?

4

5 に答える 5

4

簡単な答えは NO だと思います。事後に戻って、いつ行が挿入されたかを知るための魔法のアドホック SQL クエリはありません。

行がいつ挿入されたかを知りたい場合、最も簡単な方法は、行が挿入されたときに日付/時刻を自動的に入力するデフォルト値 (getDate() など) を使用して日付またはタイムスタンプ フィールドを追加することです。

もちろん、行の挿入、更新、削除などを追跡できる SQL ログも利用できますが、それらにはセットアップとメンテナンスが必要です。

3 番目のオプションは、データを挿入するプログラムにログを記録させることです。

于 2013-07-12T07:51:52.707 に答える
2

テーブルに日付フィールドを追加します。のデフォルト値を与えることができますGETDATE()

それからORDER BYその分野。

SELECT Column1, Column2, NewDateColumn
FROM YourTable
ORDER BY NewDateColumn
于 2013-07-12T07:43:45.373 に答える
0

おそらく、SQL CREATE TRIGGERを調べて、データがいつ追加されるかを知るロジックを追加し、その情報を別のテーブルに記録して、さらにアクションを実行する必要があります。詳細がなければ、それ以上のことは言えません。

于 2013-07-12T07:44:58.403 に答える
0

既に挿入されているデータを参照しているため、既定値が の datetime 列が既にない限り、答えはいいえですGETDATE()。イベントが発生した後に管理できる最善の方法は、一連の行を調べて、それが 2 つの既知の時間の間にあったことを判断することです。

于 2013-07-12T07:45:50.967 に答える