テーブルに数行を挿入した後に、CreatedDate
列を追加する場合。私はそれにデフォルトの制約を設定して追加しました。制約を設定した後に挿入したすべての行に対してCreated Dateがロードされています。しかし、他の古いデータ行にデータを埋め込むにはどうしたらいいですか?SQL Server - 作成された日付を列に追加する
答えて
古いエントリにどの日付を追加しようとしていますか?作成日または今日の日付?今日の日付を追加したいだけなら、すべての古いデータ行でGetDate()を使ってUPDATEを行うことができます。
はい、「作成日」が表示されるはずです –
現在のテーブルのどこにその日付が表示されていますか? – speedinfusion
しかし、他の古いデータ行にデータを埋め込むにはどうしたらいいですか?
これは容易に達成可能ではなく、まったく可能でない可能性があります。
以前の行がいつ入力されたかを知っている場合は、手動のUPDATEクエリでその日時を追加できます。
データベースをトランザクションバックアップ/リカバリモデルを使用して検索する必要がある場合は、トランザクションログリーダーを購入し、トランザクションログを調べて元のINSERTコマンドを見つけ出すことができます。
できない場合は、既に入力されている行の元の「作成日」を見つける方法はありません。
(少なくとも自動的には)あなたはできません。デフォルトの制約は逆戻りしておらず、その行を挿入した日付を取得する方法を見つけることはありません。 – SqlZim
まあ、以前の行がいつ挿入されたのかわからないから...単一の日付でUPDATEステートメントを使って日付を強制することができます。 – scsimon