(Kam mit dieser Frage auf, als ich versuchte, diese andere zu beantworten )
Betrachten Sie die folgende MS-SQL-Tabelle mit dem Namen GroupTable:
Gruppen-ID ------- 1 2 3
Dabei ist GroupID der Primärschlüssel und eine Identitätsspalte.
Wie füge ich eine neue Zeile in die Tabelle ein (und generiere damit eine neue ID), ohne IDENTITY_INSERT ON zu verwenden?
Beachten Sie Folgendes:
INSERT INTO GroupTable() Values ()
... wird nicht funktionieren.
Bearbeiten: Wir sprechen hier von SQL 2005 oder SQL 2008.
sql
sql-server
identity
codeulike
quelle
quelle
merge
Operator möglich . ZBmerge into TableName using (values (1), (2), (3)) s(n) on 1=0 when not matched then insert default values;
Bitte schön:
quelle
Es ist möglich, mehr als eine Zeile gleichzeitig einzufügen.
Zum Beispiel, um 30 Zeilen einzufügen. INSERT IN GroupTable STANDARDWERTE GO 30
Dadurch werden 30 Zeilen eingefügt, indem die Identitätsspalte jedes Mal erhöht wird.
quelle
Können Sie versuchen, eine Sequenz oder ähnliches zu verwenden? Wenn Sie aus einer Sequenz auswählen, erhalten Sie den nächsten Wert in der Sequenz.
quelle