Legen Sie fortlaufende Nummern Einfügen-Abfrage verwenden, Wählen Sie Abfrage
Möchte ich Kopieren von Daten zwischen zwei Datenbanken, so dass ich mit einer Insert-Abfrage wie die folgende:
INSERT INTO [NewDB].[MyTable]
(
[FirstName],
[LastName],
[Number]
)
(
SELECT [ST].[FirstName], [ST].[LastName], **SequentialNumber**
FROM [SourceDB].[SourceTable] AS [ST]
);
GO
Aber die neue Tabelle eine neue, einzigartige int not null-Spalte mit der Nummer, wie Sie sehen,, so wie kann ich das einfügen fortlaufende Nummern (eigentlich 10 Ziffern) mit dem folgenden Skript, Einige Sache wie 1234567891, 1234567892, ... , Hat jemand noch eine Idee?
- So
Number
ist bereits eine identity-Spalte? Tun Sie einfügen möchten, während Sie lassen Sie es seine incrementinh Sache, oder wollen Sie Sie zwingen, es zu akzeptieren, das neue sequenzielle Werte, die Sie in die AUSWAHL? - K. Die
Number
ist nicht die Identität, und ich habe einige Grund, das nicht tun, ich will nur einige laufende Nummer für die Daten der Quell-Db und in den Neuen Daten derNumber
haben ein spezielles format eingefügt durch app
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
ROW_NUMBER()
Funktion, z.B.:10000000000 + ROW_NUMBER() OVER(ORDER BY [ST].[FirstName])
🙂Vielleicht so etwas wie dieses:
können Sie dies tun:
in Fall, dass Sie don ' T haben Aufzeichnungen über
MyTable
benötigen Sie einen Fall auswählen, um mit einem NULL-Wert