Ich verwende Miscrosoft SQL Server 2012, und weil in diesem article gesagt:T-SQL "Zeitstempel" überschreibt "rowversion" Datentyp Spalte
Der Zeitstempel Syntax ist veraltet. Diese Funktion wird in einer zukünftigen Version von Microsoft SQL Server in einer entfernt. Vermeiden Sie die Verwendung dieser Funktion in neue Entwicklungsarbeit, und planen Sie, Anwendungen zu ändern, die derzeit diese Funktion verwenden.
Ich habe mich entschieden, Spalte "rowversion" anstelle von "timestamp" Spalte zu verwenden. So habe ich die folgende Tabelle erstellt:
CREATE TABLE [dbo].[TestTable]
(
[Col001] [INT] NOT NULL
,[Col002] [CHAR](2) NOT NULL
...
,[Col00N] [DATETIME2] NOT NULL
,[RowVersionID] [ROWVERSION] NOT NULL
,CONSTRAINT [PK_ProtoSurveyGlobalizationChanges_RowVersionID] PRIMARY KEY CLUSTERED
(
[RowVersionID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Und alles sah alles in Ordnung, bis ich gedrückt haben „ALT + F1“ Kombination, die mir Informationen über meine Tabelle gibt (wie Säulen Details), und ich habe gesehen, dass Die Spalte "RowVersionID" ist mit dem Typ "timestamp" markiert. mit SQL Server Management Studio 2012 und die „generierten SQL“ ändert sich meine ursprüngliche Abfrage wie folgt
Die nächste denken, dass ich es getan habe, war, „meinen Tisch Drop und erstellen“:
[RowVersionID] [timestamp] NOT NULL
Warum den Server verwende nicht den Typ, den ich anfangs eingestellt habe, und warum in dem Artikel wird mir geraten, "Zeitstempel" nicht zu verwenden, aber irgendwie wählt der Server es?
rowversion ist ein Zeitstempel. Es wurde umbenannt, weil der Zeitstempel nicht dem ISO-Standard entspricht. Lassen Sie es als rowversion und hören Sie auf, sich darüber Gedanken zu machen. –
Also gibt es keinen Unterschied, wenn ich "rowversion" oder "timestamp" spezifiziere? Der Server benutzt den richtigen für mich? – gotqn
Nur einer von konform. timnestamp ist veraltet und wird wahrscheinlich zu einem späteren Zeitpunkt entfernt. –