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