Eine Zeile in derselben Tabelle kopieren

7

Gegeben folgende SQL (MS SQL 2008):

%Vor%

Dies führt zu: An explicit value for the identity column in table 'MyTable' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Nun, muss ich wirklich eine Spaltenliste definieren? Gibt es keine Möglichkeit, es generisch zu halten? Z.B. Wenn ein Entwickler später eine Spalte hinzufügt, wird diese Spalte diese Routine nicht erreichen, und es wird sogar fehlschlagen, wenn null nicht erlaubt ist ...

    
sl3dg3 22.06.2011, 12:15
quelle

4 Antworten

26

Nun, es gibt eigentlich einen allgemeineren Weg, das funktioniert gut, ohne die Spalten zu kennen:

%Vor%

Prost!

    
sl3dg3 22.06.2011, 15:12
quelle
16

Ich bin kein MS-SQL-Benutzer, aber in allen anderen Datenbanken, mit denen ich gearbeitet habe, habe ich noch nie einen Weg gesehen, bei dem nicht alle Spalten manuell aufgelistet werden, sondern die automatisch inkrementierte.

%Vor%     
pilif 22.06.2011 12:19
quelle
2
  1. Sie benötigen eine Spaltenliste
  2. Warum denselben Wert erneut einfügen?
gbn 22.06.2011 12:17
quelle
0

Eine große Hilfe ist die Verwendung des automatischen Skript-Creaters im SQL-Manager:

In meinem Fall haben über 60 Spalten, es ist ein Schmerz, jeden einzelnen von ihnen zu schreiben. Klicken Sie also mit der rechten Maustaste auf den Tisch und wählen Sie: "Skripttabelle als" - & gt; "Wählen zu" - & gt; "Neues Abfragefenster"

    
Dannejaha 14.07.2012 19:21
quelle

Tags und Links