Ich habe eine Tabelle, die wie diese übernehmen die aussiehtWerden SQL Server-Standardwerte vor oder nach dem Einfügen generiert?
CREATE TABLE bob
(ID INT IDENTITY,
blah VARBINARY(MAX),
ts DATETIME2 DEFAULT GETUTCDATE())
Lassen Sie, dass diese Aussage
INSERT INTO dbo.bob
(blah)
VALUES (
@blarg
)
10 Sekunden dauern.
Wenn die Zeit zu Beginn der Einfügung ist t. Wird ts t oder t + 10 Sekunden in der neu erstellten Zeile haben? Mit anderen Worten, werden Standardwerte am Anfang der Einfügung oder am Ende der Einfügung (oder einer anderen Regel) erzeugt?
Sie sind falsch. Ich habe es einfach überprüft, um es zu überprüfen. Bei Verwendung als Standardbedingung werden GETDATE und GETDATEUTC mit jeder insert-Anweisung erneut ausgeführt. – Cogman
@Cogman du hast meine Antwort dann nicht richtig gelesen. Es wird sicherlich nicht behauptet, dass der Wert zwischen den Aussagen bestehen bleibt. Ich spreche über den Fall, in dem Sie mehrere Zeilen in eine einzelne Anweisung einfügen und die INSERT-Anweisung 10 Sekunden dauert. –
Mein Fehler. Du hast recht :) . Ich lese Ihre Aussage noch einmal und es ergibt Sinn. Entschuldigung für die Verwirrung. – Cogman