2012-05-31 15 views
13
ALTER TABLE [TEMP] 
SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN' 

Estoy tratando de cambiar el nombre de Day a GT y estoy recibiendo el errorCambiar el nombre de una columna: sintaxis incorrecta cerca de 'SP_RENAME'.?

sintaxis incorrecta cerca de 'SP_RENAME'

SQL Server Management Studio dice que el error está en SP_RENAME

NOTA: Estoy abierto a otras opciones además de sp_rename

+0

No puede cambiar el nombre de una columna con ALTER TABLE. –

Respuesta

27

SP_RENAME no es parte de la declaración ALTER TABLE. Es un procedimiento almacenado del sistema y por lo tanto debe ser invocado utilizando la sentencia EXEC/EXECUTE, así:

exec SP_RENAME '[TEMP].[Day]', 'GT', 'COLUMN' 

(sin el alter table temp bits)

+4

También agregaría el EXEC allí, en caso de que OP lo copie en un lote y no sea la primera declaración. –

+0

@ericf: Debería funcionar. Ver [este ejemplo] (http://sqlfiddle.com/#!3/00034/2) –

+1

@ericf justo donde lo puso Juergen, y por favor nunca digas "no está funcionando" - qué significa "no está funcionando" "¿significa? ¿Recibes un mensaje de error? Si es así, cópielo y péguelo para que tengamos alguna pista de lo que quiere decir. –

0

Es necesario empezar cada SP_RENAME con un EXEC

+0

Esto ya fue declarado un año antes. –

Cuestiones relacionadas