valor una tabla eliminar como columna campo alterar agregar sql syntax alter-table

sql - tabla - ¿Cómo AGREGAR y SALTAR columnas en una sola ALTER TABLE?



como eliminar un campo de una tabla en sql (2)

Intenté lo siguiente pero recibí un error de sintaxis

ALTER TABLE Grades ( DROP COLUMN (Student_FamilyName, Student_Name), ADD Student_id INT );

¿Es posible realizar un DROP y un ADD en la misma instrucción ALTER TABLE ?


En caso de que su base de datos sea Mysql, puede hacerlo de esta manera

ALTER TABLE Grades DROP COLUMN Student_FamilyName, DROP COLUMN Student_Name, ADD Student_id INT

Trabaja en mysql 5.5.5


Si nos fijamos en el ALTA TABLE SYTAX.

verá esto

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 ]

Esto se puede reducir a

ALTER TABLE { ALTER COLUMN column_name | ADD | DROP }

De acuerdo con las convenciones de sintaxis de Transact-SQL (Transact-SQL), la | (barra vertical)

Separa los elementos de sintaxis entre paréntesis o llaves. Puedes usar solo uno de los artículos.

Así que no puedes alterar, soltar o agregar en una sola declaración. También tienes los parens y la coma que no funcionan. Así que necesitarás

ALTER TABLE Grades DROP COLUMN (Student_FamilyName, Student_Name); ALTER TABLE Grades ADD Student_id INT;

Si necesita que sean una acción atómica, solo necesita envolver en la transacción