sp_rename (Transact-SQL) (Français)

  • 14/10/2020
  • 6 minutes de lecture
    • m
    • c
    • M
    • m
    • r
    • +5

Sapplique à: SQL Server (toutes les versions prises en charge) Azure SQL Database Azure Synapse Analytics

Modifie le nom dun objet créé par lutilisateur dans la base de données actuelle . Cet objet peut être une table, un index, une colonne, un type de données dalias ou un type défini par lutilisateur Microsoft .NET Framework Common Language Runtime (CLR).

Remarque

In Azure Synapse Analytics, sp_rename est en préversion et ne peut être utilisé que pour renommer une COLONNE dans un objet utilisateur.

Attention

Modification dune partie dun objet name peut casser les scripts et les procédures stockées. Nous vous recommandons de ne pas utiliser cette instruction pour renommer des procédures stockées, des déclencheurs, des fonctions définies par lutilisateur ou des vues; à la place, déposez lobjet et recréez-le avec le nouveau nom.

Conventions de syntaxe Transact-SQL

Syntaxe

Arguments

« object_name »
Est le nom actuel qualifié ou non qualifié de lobjet utilisateur ou du type de données. Si lobjet à renommer est une colonne dans une table, nom_objet doit être au format table.column ou schema.table.column. Si lobjet à renommer est un index, nom_objet doit être au format table.index ou schema.table.index. Si lobjet à renommer est une contrainte, nom_objet doit être au format schema.constraint.

Les guillemets ne sont nécessaires que si un objet qualifié est spécifié. Si un nom complet, y compris un nom de base de données, est fourni, le nom de la base de données doit être le nom de la base de données actuelle. object_name est nvarchar (776), sans valeur par défaut.

« new_name »
Est le nouveau nom de lobjet spécifié. nouveau_nom doit être un nom en une partie et doit suivre les règles pour les identificateurs. newname est sysname, sans valeur par défaut.

Remarque

Les noms de déclencheurs ne peuvent pas commencer par # ou ##.

Valeur Description
COLUMN Une colonne à renommer.
BASE DE DONNÉES Une base de données définie par lutilisateur. Ce type dobjet est requis lors du changement de nom dune base de données.
INDEX Un index défini par lutilisateur. Renommer un index avec des statistiques renomme également automatiquement les statistiques.
OBJECT Un élément dun type suivi dans sys.objects. Par exemple, OBJECT peut être utilisé pour renommer des objets comprenant des contraintes (CHECK, FOREIGN KEY, PRIMARY / UNIQUE KEY), des tables utilisateur et des règles.
STATISTICS Sapplique à: SQL Server 2012 (11.x) et versions ultérieures et Azure SQL Database.
Statistiques créées explicitement par un utilisateur ou créées implicitement avec un index. Renommer les statistiques dun index renomme également automatiquement lindex.
USERDATATYPE Un CLR User-defined Types ajouté en exécutant CREATE TYPE ou sp_addtype.

« COLUMN » Sapplique à: Azure Synapse Analytics
Dans sp_rename (aperçu ) pour Azure Synapse Analytics, COLUMN est un paramètre obligatoire spécifiant que le type dobjet à renommer est une colonne. Il sagit dun varchar (13) sans valeur par défaut et doit toujours être inclus dans linstruction sp_rename (aperçu). Une colonne ne peut être renommée que sil sagit dune colonne sans distribution.

Valeurs de code de retour

0 (succès) ou un nombre différent de zéro (échec)

Remarques

Sapplique à SQL Server (toutes les versions prises en charge) et Azure SQL Database
sp_rename renomme automatiquement lindex associé chaque fois quune contrainte PRIMARY KEY ou UNIQUE est renommée. Si un index renommé est lié à une contrainte PRIMARY KEY, la contrainte PRIMARY KEY est également automatiquement renommée par sp_rename.

Sapplique à SQL Server (toutes les versions prises en charge) et Azure SQL Database
sp_rename peut être utilisé pour renommer les index XML principaux et secondaires.

Sapplique à SQL Server (toutes les versions prises en charge) et Azure SQL Database
Le fait de renommer une procédure stockée, une fonction, une vue ou un déclencheur ne changera pas le nom de la objet dans la colonne de définition de la vue catalogue sys.sql_modules ou obtenu à laide de la fonction intégrée OBJECT_DEFINITION. Par conséquent, nous vous recommandons de ne pas utiliser sp_rename pour renommer ces types dobjets. À la place, supprimez et recréez lobjet avec son nouveau nom.

Sapplique à SQL Server (toutes les versions prises en charge), Azure SQL Database et Azure Synapse Analytics
Renommer un objet tel quune table ou la colonne ne renomme pas automatiquement les références à cet objet.Vous devez modifier manuellement tous les objets qui référencent lobjet renommé. Par exemple, si vous renommez une colonne de table et que cette colonne est référencée dans un déclencheur, vous devez modifier le déclencheur pour refléter le nouveau nom de colonne. Utilisez sys.sql_expression_dependencies pour répertorier les dépendances sur lobjet avant de le renommer.

Sapplique à SQL Server (toutes les versions prises en charge), Azure SQL Database et Azure Synapse Analytics
Vous pouvez modifier le nom dun objet ou type de données dans la base de données actuelle uniquement. Les noms de la plupart des types de données système et des objets système ne peuvent pas être modifiés.

Autorisations

Pour renommer des objets, des colonnes et des index, il faut lautorisation ALTER sur lobjet. Pour renommer les types dutilisateurs, nécessite lautorisation CONTROL sur le type. Pour renommer une base de données, il faut être membre des rôles serveur fixe sysadmin ou dbcreator

Exemples

A. Renommer une table

Lexemple suivant renomme la table SalesTerritory en SalesTerr dans le Sales schéma.

B. Renommer une colonne

Lexemple suivant renomme la colonne TerritoryID de la table SalesTerritory en TerrID.

C. Renommer un index

Lexemple suivant renomme lindex IX_ProductVendor_VendorID en IX_VendorID.

D . Renommer un type de données alias

Lexemple suivant renomme le type de données alias Phone en Telephone.

E. Renommer les contraintes

Les exemples suivants renomme une contrainte PRIMARY KEY, une contrainte CHECK et une contrainte FOREIGN KEY. Lors du changement de nom dune contrainte, le schéma auquel appartient la contrainte doit être spécifié.

F. Renommer les statistiques

Lexemple suivant crée un objet de statistiques nommé contactMail1, puis renomme la statistique en NewContact à laide de sp_rename. Lors du changement de nom des statistiques, lobjet doit être spécifié au format schema.table.statistics_name.

Exemples: Azure Synapse Analytics

G. Renommer une colonne

Lexemple suivant renomme la colonne c1 de la table table1 en col1.

Voir aussi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *