Wenn Sie den Blick auf ALTER TABLE SYTAX
Sie werden sehen, diese
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{
ALTER COLUMN column_name
{
[ type_schema_name. ] type_name [ ({ precision [ , scale ]
| max | xml_schema_collection }) ]
[ COLLATE collation_name ]
[ NULL | NOT NULL ] [ SPARSE ]
| {ADD | DROP }
{ ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION | SPARSE }
}
| [ WITH { CHECK | NOCHECK } ]
| ADD
{
<column_definition>
| <computed_column_definition>
| <table_constraint>
| <column_set_definition>
} [ ,...n ]
| DROP
{
[ CONSTRAINT ]
{
constraint_name
[ WITH
(<drop_clustered_constraint_option> [ ,...n ])
]
} [ ,...n ]
| COLUMN
{
column_name
} [ ,...n ]
} [ ,...n ]
Dies zu
reduziert werden kann
ALTER TABLE { ALTER COLUMN column_name | ADD | DROP }
Nach Transact-SQL Syntax Conventions (Transact-SQL) der | (vertikaler Balken)
Trennt Syntaxelemente, die in Klammern oder geschweiften Klammern eingeschlossen sind. Sie können nur eines der Elemente verwenden.
Sie können also nicht ändern, ablegen oder hinzufügen in einer einzigen Anweisung. Sie haben auch die Parens und das Komma, die nicht funktionieren. So werden Sie
ALTER TABLE Grades DROP COLUMN (Student_FamilyName, Student_Name);
ALTER TABLE Grades ADD Student_id INT;
benötigen Wenn Sie sie benötigen eine atomare Aktion sein müssen Sie nur in der Transaktion wickeln
Sie können mit einer alten Anweisung, trennen sie nicht fallen lassen und erstellen –
Sie wechseln in PostgreSQL (Husten), die [mehr Änderungen] (http unterstützt: //www.postgresql. oder g/docs/currrent/static/sql-altertable.html) als Erweiterung der Standard-SQL-Syntax. (Aber obwohl ich oft PostgreSQL verwende, schreibe ich * normalerweise * SQL, das Erweiterungen vermeidet.) –
Welche DBMS benutzen Sie? Orakel? DB2? –