A SQL
consulta que eu usei é:
ALTER TABLE oldtable RENAME TO newtable;
Mas, isso me dá um erro.
Servidor: mensagem 156, nível 15, estado 1, linha 1
Sintaxe incorreta perto da palavra-chave 'TO'.
sql-server
rename
alter-table
Interruptor
fonte
fonte
.
, use[]
-o em torno do nome da tabela. (Eu sei, eu sei, mas os pontos podem acontecer ...) Por exemplo,sp_rename '[Stupid.name]', 'NewName'
ou com esquemasp_rename '[dbo.Stupid.name]', 'NewName'
'NewName'
campo, caso contrário, sua tabela pode acabar parecendo algo parecidodbo.dbo.NewName
.CREATE SYNONYM [schema].[synonymName] FOR [schema].[tableName]
Para renomear uma coluna:
Para renomear uma tabela:
fonte
Ao usar sp_rename, que funciona como nas respostas acima, verifique também quais objetos são afetados após renomear, que fazem referência a essa tabela, porque você também precisa alterá-los
Tomei um exemplo de código para dependências de tabela no blog de Pinal Dave aqui
Portanto, todos esses objetos dependentes precisam ser atualizados também
Ou use algum suplemento, se puder, alguns deles possuem recursos para renomear objetos e todos dependem também de objetos ent
fonte
Se você tentar
exec sp_rename
receber um erro LockMatchID, poderá ser útil adicionar uma instrução use [database] primeiro:eu tentei
O que eu tive que fazer para corrigi-lo foi reescrevê-lo para:
fonte
Nome da tabela
Coluna
Índice
também disponível para estática e tipos de dados
fonte
Isto é o que eu uso:
fonte
Nada funcionou a partir da proposta aqui. Então, apenas coloquei os dados em uma nova tabela
talvez seja útil para alguém ..
No meu caso, ele não reconheceu o novo esquema e também o dbo era o proprietário.
Trabalhou para mim. Encontrei a partir do script gerado automaticamente ao atualizar o PK para uma das tabelas. Dessa forma, também reconheceu o novo esquema.
fonte
Para alterar um nome de tabela com um esquema diferente:
Exemplo: Altere dbo.MyTable1 para wrk.MyTable2
fonte