La SQL
consulta que he usado es:
ALTER TABLE oldtable RENAME TO newtable;
Pero, me da un error.
Servidor: Mensaje 156, Nivel 15, Estado 1, Línea 1
Sintaxis incorrecta cerca de la palabra clave 'TO'.
sql-server
rename
alter-table
Cambiar
fuente
fuente
.
, úselo[]
alrededor del nombre de la tabla. (Lo sé, lo sé, pero pueden suceder puntos ...) Por ejemplo,sp_rename '[Stupid.name]', 'NewName'
o con un esquemasp_rename '[dbo.Stupid.name]', 'NewName'
'NewName'
campo, de lo contrario su tabla podría terminar pareciendo algo asídbo.dbo.NewName
.CREATE SYNONYM [schema].[synonymName] FOR [schema].[tableName]
Para renombrar una columna:
Para renombrar una tabla:
fuente
Cuando use sp_rename que funciona como en las respuestas anteriores, verifique también qué objetos se ven afectados después de cambiar el nombre, esa referencia a esa tabla, porque también necesita cambiarlos
Tomé un ejemplo de código para las dependencias de la tabla en el blog de Pinal Dave aquí
Por lo tanto, todos estos objetos dependientes también deben actualizarse
O use algún complemento si puede, algunos de ellos tienen la función de cambiar el nombre del objeto, y todos dependen también de los objetos
fuente
Si intentas
exec sp_rename
y recibe un error de LockMatchID, entonces podría ser útil agregar primero una declaración de uso [base de datos]:Lo intenté
Lo que tuve que hacer para arreglarlo fue reescribirlo en:
fuente
Nombre de la tabla
Columna
Índice
también disponible para estadísticas y tipos de datos
fuente
Esto es lo que uso:
fuente
Nada funcionó a partir de lo propuesto aquí. Así que solo introduje los datos en una nueva tabla
tal vez sea útil para alguien ...
En mi caso no reconocía el nuevo esquema, también el dbo era el propietario.
Trabajó para mi. Lo encontré en el script generado automáticamente al actualizar el PK para una de las tablas. De esta manera, también reconoció el nuevo esquema.
fuente
Para cambiar el nombre de una tabla con un esquema diferente:
Ejemplo: cambie dbo.MyTable1 a wrk.MyTable2
fuente