Ich versuche, einer Tabelle Mitarbeiter programmgesteuert eine Identitätsspalte hinzuzufügen. Ich bin mir nicht sicher, was ich mit meiner Syntax falsch mache.
ALTER TABLE Employees
ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1)
ALTER TABLE Employees ADD CONSTRAINT
PK_Employees PRIMARY KEY CLUSTERED
(
EmployeeID
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Was mache ich falsch? Ich habe versucht, das Skript zu exportieren, aber SQL Mgmt Studio führt eine vollständige Umbenennung der temporären Tabelle durch.
UPDATE : Ich denke, es erstickt an der ersten Anweisung mit "Falsche Syntax in der Nähe des Schlüsselworts 'COLUMN'".
sql
sql-server
tsql
ddl
BuddyJoe
quelle
quelle
column
Schlüsselwort nicht einfach ignorieren und dafür sorgen, dass es wie jede andere Datenbank funktioniert.COLUMN
in derADD
Anweisung nicht zulässig .So fügen Sie der Tabelle eine neue Spalte hinzu
Z.B
Und wenn Sie es automatisch inkrementieren möchten
quelle
Die korrekte Syntax zum Hinzufügen einer Spalte zur Tabelle lautet:
In Ihrem Fall wird es sein:
Verwenden Sie Klammern, um mehrere Spalten hinzuzufügen:
COLUMN
Das Schlüsselwort in SQL SERVER wird nur zum Ändern verwendet:quelle
Es kann sein, dass die temporäre Tabelle umbenannt wird, wenn Sie versuchen, eine Spalte am Anfang der Tabelle hinzuzufügen (da dies einfacher ist als das Ändern der Reihenfolge). Wenn die Employees-Tabelle Daten enthält, muss select * eingefügt werden, damit die EmployeeID berechnet werden kann.
quelle