La SQL
requête que j'ai utilisée est:
ALTER TABLE oldtable RENAME TO newtable;
Mais cela me donne une erreur.
Serveur: Msg 156, niveau 15, état 1, ligne 1
Syntaxe incorrecte près du mot clé "TO".
sql-server
rename
alter-table
Commutateur
la source
la source
.
, utilisez-le[]
autour du nom de la table. (Je sais, je sais, mais des points peuvent arriver ...) Par exemplesp_rename '[Stupid.name]', 'NewName'
ou avec un schémasp_rename '[dbo.Stupid.name]', 'NewName'
'NewName'
champ, sinon votre table pourrait finir par ressembler à quelque chosedbo.dbo.NewName
.CREATE SYNONYM [schema].[synonymName] FOR [schema].[tableName]
Pour renommer une colonne:
Pour renommer une table:
la source
Lorsque vous utilisez sp_rename qui fonctionne comme dans les réponses ci-dessus, vérifiez également quels objets sont affectés après le changement de nom, qui font référence à cette table, car vous devez également les modifier
J'ai pris un exemple de code pour les dépendances de table sur le blog de Pinal Dave ici
Donc, tous ces objets dépendants doivent également être mis à jour
Ou utilisez un complément si vous le pouvez, certains d'entre eux ont la fonction de renommer l'objet, et tous dépendent également des objets
la source
Si vous essayez de
exec sp_rename
recevoir une erreur LockMatchID, il peut être utile d'ajouter d'abord une instruction use [database]:j'ai essayé
Ce que je devais faire pour le réparer, c'était de le réécrire:
la source
Nom de la table
Colonne
Indice
également disponible pour la statique et les types de données
la source
Voici ce que j'utilise:
la source
Rien n'a fonctionné de ce qui est proposé ici .. Donc, juste pore les données dans un nouveau tableau
peut être utile à quelqu'un ..
Dans mon cas, il n'a pas reconnu le nouveau schéma et le dbo en était le propriétaire.
A travaillé pour moi. Je l'ai trouvé à partir du script généré automatiquement lors de la mise à jour du PK pour l'une des tables. De cette façon, il a également reconnu le nouveau schéma.
la source
Pour modifier un nom de table avec un schéma différent:
Exemple: remplacez dbo.MyTable1 par wrk.MyTable2
la source