2012-04-13 28 views
25

cuando estaba cambiando el nombre de la columna en SQL Server, inserté accidentalmente los corchetes alrededor de la columna. La declaración real que utilicé fue:Extrayendo [] alrededor de la columna en SQL Server 2005

SP_RENAME 'customer.[EMPLOYEENAMES]', '[EMPLOYEENAME]', 'COLUMN' 

Pero cuando intento para recuperar los datos que se limita a decir e incluso he intentado con fuera corchetes, se da el mismo error

nombre de columna no válido ' [NOMBRE DE EMPLEADO]'.

¿Cómo debo eliminar los corchetes?

+0

Quizás pueda usar la función 'quotename', vea http://stackoverflow.com/questions/6074826/how-to-escape-square-brackets-inside-square-brackets-for-field-name –

Respuesta

39

Esto restaurará el orden en su base de datos:

EXEC SP_RENAME 'customer."[EmployeeName]"', 'EmployeeName','COLUMN' 

No puede utilizar soportes dobles porque devuelve error de sintaxis. Las citas eluden esta limitación.

7

Como ahora tiene una columna con corchetes en el nombre mismo, puede acceder a esa columna por:

SELECT [[EmployeeName]]] 
FROM Customer 

Sí, todos esos corchetes adicionales son un poco difícil de manejar :)

Por lo tanto, me gustaría cambiar el nombre de la columna de nuevo para eliminar los paréntesis:

EXEC SP_RENAME 'customer.[[EmployeeName]]]', 'EmployeeName','COLUMN' 

Así, podrá hacer referencia "normalmente":

SELECT EmployeeName 
FROM Customer 
+0

Wow, nunca nuevo sobre el soporte Extra, +1 – Habib

+0

Soporte adicional me ayudó, +1 – nccsbim071

+0

Soporte Extra. Wow +1 –

0

Ninguna de las alternativas dadas funcionó para mí, así que tuve que crear una nueva columna con el nombre correcto, hacer una configuración de actualización newName = [[badName]]], y luego soltar la columna nombrada incorrectamente.

Cuestiones relacionadas