2010-03-26 15 views
110

Puede alguien decirme dónde está el error en la siguiente consultamesa Alter añadir varias columnas MS SQL

ALTER TABLE Countries 
ADD ( 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasText bit); 

ALTER TABLE Regions 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit 
HasText bit); 

ALTER TABLE Provinces 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit 
HasText bit); 


ALTER TABLE Cities 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit 
HasText bit); 

Alter table Hotels 
Add 
{ 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasHotelPhotoInReadyStorage bit, 
HasHotelPhotoInWorkStorage bit, 
HasHotelPhotoInMaterialStorage bit, 
HasReporterData bit, 
HasMovieInReadyStorage bit, 
HasMovieInWorkStorage bit, 
HasMovieInMaterialStorage bit 
}; 

que obtienen los siguientes errores:

Msg 102, Level 15, State 1, Line 2 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 9 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 15 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 22 
Incorrect syntax near '('. 
Msg 102, Level 15, State 1, Line 29 
Incorrect syntax near '{'. 
+0

duplicado posible de [cómo añadir varias columnas a la tabla de SQL y agregar restricción predeterminada en uno de ellos?] (http://stackoverflow.com/questions/15184939/how-to-add-multiple-columns-to-sql -table-and-add-default-constraint-on-one-of-th) –

Respuesta

140

Quite los paréntesis y las llaves, no son necesarios al agregar columnas.

+7

También compruebe sus comas, parece que le faltan varias para la penúltima columnas que se están agregando –

8
Alter table Hotels 
Add 
{ 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasHotelPhotoInReadyStorage bit, 
HasHotelPhotoInWorkStorage bit, 
HasHotelPhotoInMaterialStorage bit, 
HasReporterData bit, 
HasMovieInReadyStorage bit, 
HasMovieInWorkStorage bit, 
HasMovieInMaterialStorage bit 
}; 

Por encima está utilizando { ,}.

comas Además, se echa en falta:

ALTER TABLE Regions 
ADD (HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit <**** comma needed here 
HasText bit); 

tiene que quitar los soportes y asegurarse de que todas las columnas tienen una coma cuando sea necesario.

+0

¿Por qué '(' ¡da un error con eso! – Adaptabi

109

tiene que quitar los soportes

ALTER TABLE Countries 
ADD 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasText bit; 
28

esto debería funcionar en T-SQL

ALTER TABLE Countries ADD 
HasPhotoInReadyStorage bit, 
HasPhotoInWorkStorage bit, 
HasPhotoInMaterialStorage bit, 
HasText bit GO 

http://msdn.microsoft.com/en-us/library/ms190273(SQL.90).aspx

+1

No es AGREGAR COLUMNA, simplemente ALTERAR TABLA Países AÑADIR HasPhotoInReadyStorage ... – jorgebg

+1

@jorgebg gracias por tomarse el tiempo para corregirme – Stefano

+1

tenga cuidado de no incluir GO, solo se usa en el servidor de MSSQL mgmt studio, pero no es una palabra clave SQL válida. – increddibelly

1
ALTER TABLE Regions 
ADD (HasPhotoInReadyStorage bit, 
    HasPhotoInWorkStorage bit, 
    HasPhotoInMaterialStorage bit *(Missing ,)* 
    HasText bit); 
+0

Por favor, edite con más información. Se desalientan las respuestas de solo código y "prueba esto", ya que no contienen contenido que se pueda buscar y no explican por qué alguien debe "probar esto". Hacemos un esfuerzo aquí para ser un recurso para el conocimiento. –

Cuestiones relacionadas