Insert into SQL Server timestamp
Habe ich table1
und table2
und ich bin das einfügen von Daten in table3
basierend auf Zeilen, die aus Tabellen 1 + 2. Ich brauche Beweise in Tabelle 3, wenn war Daten einfügen.
"Tabelle1":
Column1
a
b
d
e
g
h
i
Tabelle2:
Column1
a
b
c
d
e
f
Code:
INSERT INTO [dbo].[table3](column1)
SELECT column1
FROM [dbo].[table2]
WHERE NOT EXISTS (SELECT
FROM [dbo].[table1]
WHERE column1 = column1);
Ergebnis:
Tabelle3:
Column1 Column2
c
f
Brauche ich um existieren, Tabelle und Spalte vorhanden (varchar(50)
oder timestamp
) jedem format der Zeit wird das zeigen Sie mir mal, Wann war das einfügen von Werten in die Tabelle mit meinem aktuellen Skript.
Beispiel:
Tabelle3:
Column1 Column2
c 4/4/2017
f 4/4/2017
Paar Tage später sollte die Tabelle so Aussehen :
Tabelle3:
Column1 Column2
c 4/4/2017
f 4/4/2017
x 5/4/2017
y 6/4/2017
z 10/4/2019
Dank für die Aktualisierung meines Skripts für :
Etwas wie :
INSERT INTO table3 (Column2)
VALUES (CURRENT_TIMESTAMP);
- NICHT IMMER speichern datetime-Informationen in eine varchar-Spalte. Es ist eine schreckliche Idee. Wir haben einen datetime-Datentyp für diese Art von Informationen. Und vergessen TIMESTAMP, es hat nichts zu tun mit Zeit-und Datumsangaben. Für die Frage zur hand, können Sie entweder fügen Sie eine not null-Einschränkung für die datetime-Spalte mit einem Standardwert getdate() oder stellen Sie die aktuelle Zeit mit getdate() in der insert-Anweisung.
InformationsquelleAutor Luka | 2017-04-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur
ADD
eine weitere Spalte in Tabelle3 durchALTER TABLE TABLE3 ADD COLUMN updated Datetime2 DEFAULT GETDATE()
Und mache nur die Beilagen, was Sie Tat, jedes mal, wenn Sie fügen Sie eine neue Zeile in Tabelle3, das Letzte Feld
updated
aufgefüllt wird mit dem aktuellen Datum und Zeit.Fügen Sie einige Audit-Spalten für die Tabelle wie unten