私はtable1
とtable2
を持っており、テーブル1 + 2の行に基づいてtable3
にデータを挿入しています。データが挿入されたときにテーブル3への証拠を得る必要があります。SQLサーバーにタイムスタンプを挿入
表1:
Column1
a
b
d
e
g
h
i
表2:
Column1
a
b
c
d
e
f
コード:
INSERT INTO [dbo].[table3](column1)
SELECT column1
FROM [dbo].[table2]
WHERE NOT EXISTS (SELECT
FROM [dbo].[table1]
WHERE column1 = column1);
結果:
表3:
Column1 Column2
c
f
私はテーブルの存在とカラム(varchar(50)
またはtimestamp
を)存在することで私のテーブルへの挿入値は私の現在のスクリプトを使用していた時間が表示されます、時間のいずれかの形式を取得する必要があります。
例:
表3:
Column1 Column2
c 4/4/2017
f 4/4/2017
数日後、テーブルは次のようになります。
表3:
Column1 Column2
c 4/4/2017
f 4/4/2017
x 5/4/2017
y 6/4/2017
z 10/4/2019
感謝ALTER TABLE TABLE3 ADD COLUMN updated Datetime2 DEFAULT GETDATE()
によって
INSERT INTO table3 (Column2)
VALUES (CURRENT_TIMESTAMP);
のようなテーブルのためのいくつかの監査列を追加します。それは恐ろしい考えです。この種の情報の日時データ型があります。 TIMESTAMPを忘れると、それは時間や日付とは関係がありません。現在の質問では、デフォルトのgetdate()を使用してdatetime列にnot null制約を追加するか、またはinsert文で現在の時刻にgetdate()を指定することができます。 –