私の現在のプロジェクトではデータベースの移行は使用されていないため、変更が生じた場合はマニュアルで確認されます。最後のn日間に新しいデータがあるテーブルを見つけることはできますか?
最後のn日間(たとえば7日間)に作成された新しい行がデータベース内のどのテーブルにあるかを調べることはできますか?
ありがとうございました!
私の現在のプロジェクトではデータベースの移行は使用されていないため、変更が生じた場合はマニュアルで確認されます。最後のn日間に新しいデータがあるテーブルを見つけることはできますか?
最後のn日間(たとえば7日間)に作成された新しい行がデータベース内のどのテーブルにあるかを調べることはできますか?
ありがとうございました!
新たに挿入された1の値をテーブルの値にするために挿入するトリガーを作成するか、またはその前に挿入される0 ....その新しい値が追加されたことを示すフラグ。
id StudentName flag
1 Frank 0
2 Andrew 1
insert into tablename(id,StudentName,flag) Values(3,'Alice',1)
は常に1で旗を作ることを知っている:あなたがテーブルに挿入するたびにあなたが1つの 例で、この列を追加するように更新ステートメントは...彼らはすべてが0の値をとるであることを確認しますそれは新しい記録であり、最近追加されたものです。
update tablename set flag = 0
この文章は、すべてが前に挿入されていることを確認するためのものであり、新しいものではありません。
新しい行があったときに、テーブルを更新
テーブルを作成しますTableUpdatedRrecord(TABLE_NAMEのvarchar型(最大)、旗int型、TableCreatedDate日時、更新日時)
まずレコードを持つテーブルを作成したときに示し、共通のテーブルを作成します。表は
TRIGGEを作成するには、新しい挿入していたときにテーブルに挿入すること
Create table TableUpdatedRrecord (Table_Name varchar(max),Flag INT,TableCreatedDate DateTime,Modified DatetIME)
今すぐに実行される各テーブルにトリガーを作成します。 dbo.TableName ON R TriggerName INSERT AS が DECLARE @CreatedDate日時 セット@ CreatedDateに=(SYS.TABLESからt.create_dateを選択トン名= 'テーブル名')を開始した後 INSERT INTO TableUpdatedRrecord (TABLE_NAME、[フラグ]、[TableCreatedDate]、[]修正) VALUES (CreatedDateに 、のGetDate(@ 'テーブル名' 、1 、)) END
作成するすべてのテーブル内の不履行 'CreatedAt'日付列を含めます。 –
バイナリログが有効になっている場合は、INSERT、UPDATE、DELETEステートメントをgrepすることができます。 –
@GordonLinoff各テーブルにCreatedAtカラムがありますが、既存のテーブルを確認する方法はわかりません。新しいCreatedAt、そして可能なすべてのテーブルをループする必要があるかどうか、またはすでに必要なものを実行しているinformation_schema magicコマンドがいくつかありますか? – kiradotee