logo

Canvieu el nom de les columnes a SQL Server

SQL Server ens permet canviar la columna sempre que ho necessitem. Canviarem el nom de les columnes de la taula quan el nom de la columna no tingui sentit o no compleixi el propòsit de la seva creació. S'ha d'assegurar que tenim permís ALTER sobre l'objecte abans de canviar el nom de la columna.

Limitacions i restriccions

SQL Server té algunes restriccions a l'hora de canviar el nom de la columna perquè quan canviem el nom d'una columna, no implica que totes les referències a aquesta columna també es canviïn. Hem de modificar manualment tots els objectes que pertanyen a la columna reanomenada.

Per exemple , si volem canviar la columna d'una taula a la qual també es fa referència en a disparador , també cal modificar l'activador per reflectir el nom de la nova columna. El sys.sql_expression_dependencies es pot utilitzar per llistar totes les dependències de l'objecte abans de canviar el nom.

Podem canviar el nom de les columnes de la taula a SQL Server utilitzant principalment dues maneres:

  1. Transact-SQL.
  2. SQL Server Management Studio (SSMS)

Transact-SQL

SQL Server proporciona un procediment emmagatzemat estàndard anomenat SP_RENAME per canviar el nom d'un objecte creat per l'usuari a la base de dades actual. L'objecte creat per l'usuari pot ser una taula, columna, índex, tipus de dades d'àlies, etc.

Els scripts i els procediments emmagatzemats es poden trencar quan canviem alguna part del nom d'un objecte. T'aconsellem tirar l'objecte i tornar a crear amb el nom nou en lloc d'utilitzar aquesta instrucció per canviar el nom dels procediments emmagatzemats, activadors, funcions definides per l'usuari o vistes.

La sintaxi per canviar el nom de la columna mitjançant aquest enfocament és:

 EXEC SP_RENAME '[Table Name].[Old Column Name]', '[New Column Name]', COLUMN' 

Canvia el nom de la columna Exemple

L'exemple següent mostra la columna de canvi de nom de l'SQL Server mitjançant el procediment emmagatzemat SP_RENAME. Per fer-ho, farem un ' estudiant' taula que conté les dades següents:

Canvieu el nom de les columnes a SQL Server

Si volem canviar el ' ciutat' columna amb el nou nom ' nom_ciutat' d'aquesta taula, podem utilitzar la sintaxi o el procediment emmagatzemat d'SQL Server especificat anteriorment de la manera següent:

 EXEC SP_RENAME 'Student.city', 'city_name', 'COLUMN' 

Després d'executar aquest script, obtindrem el missatge següent:

Canvieu el nom de les columnes a SQL Server

Quan verifiquem la taula 'estudiant', podem veure que el nom de la columna de 'ciutat' s'ha canviat correctament:

Canvieu el nom de les columnes a SQL Server

SQL Server Management Studio (SSMS)

SSMS és una eina de programari de Windows que s'utilitza per connectar i treballar amb el nostre SQL Server des d'una interfície gràfica en lloc d'utilitzar la línia d'ordres. L'estudi de gestió ens permet canviar el nom de les columnes de la taula de les maneres següents:

  1. Canvieu el nom d'una columna mitjançant l'Explorador d'objectes
  2. Feu doble clic al nom de la columna
  3. Canvieu el nom d'una columna amb Table Designer

Comentem cadascun d'ells amb detall.

Canvieu el nom d'una columna mitjançant l'Explorador d'objectes

Els passos següents s'utilitzen per canviar el nom de la columna mitjançant l'Explorador d'objectes:

Pas 1: Aneu al menú Bases de dades -> Taules i amplieu-lo.

Pas 2: Seleccioneu la taula desitjada i expandiu-la.

Pas 3: Seleccioneu les Columnes i expandiu-les.

Pas 4: Feu clic amb el botó dret al nom de la columna que voleu canviar i trieu l'opció Canvia el nom.

La imatge següent explica tots els passos anteriors on hem escollit el ' estudiant' taula:

Canvieu el nom de les columnes a SQL Server

Pas 5: Escriviu un nom nou per a la columna seleccionada.

Pas 6: Actualitzeu la base de dades o la taula per acabar els passos de canvi de nom.

Pas 7: Executeu la instrucció SELECT per verificar el nom de columna canviat.

Canvieu el nom d'una columna amb Table Designer

Els passos següents s'utilitzen per canviar el nom de la columna mitjançant l'Explorador d'objectes:

Pas 1: Aneu al menú Bases de dades -> Taules i amplieu-lo.

Pas 2: Seleccioneu la taula desitjada en la qual voleu canviar el nom de la columna, feu-hi clic amb el botó dret del ratolí i trieu l'opció Disseny del menú contextual.

Canvieu el nom de les columnes a SQL Server

Pas 3: Un cop seleccionem l'opció Disseny, veurem la taula en mode de disseny com la imatge següent.

Canvieu el nom de les columnes a SQL Server

Pas 4: Seleccioneu la columna que voleu canviar i escriviu el nom nou per a aquesta columna. Permeteu-me canviar el nom de nom columna a f_nom .

Pas 5: Per desar els canvis que heu fet a la finestra de disseny, feu clic a Tanca botó i després el botó a la finestra emergent que es mostra.

Canvieu el nom de les columnes a SQL Server

Podem desar els canvis fets a la finestra de disseny d'una altra manera navegant a Dossier menú i feu clic a Desa el nom de la taula o premeu CTRL+S al teclat.

Canvieu el nom de les columnes a SQL Server

Pas 6: Executeu la instrucció SELECT per verificar el nom de columna canviat

Feu doble clic al nom de la columna

Podem seguir els passos següents per canviar el nom de la columna fent doble clic:

Pas 1: Aneu a Bases de dades -> Taules -> Columnes.

python escriviu json al fitxer

Pas 2: Seleccioneu el nom de la columna que voleu canviar i feu doble clic. La imatge següent ho explica amb més claredat:

Canvieu el nom de les columnes a SQL Server

Pas 3: Escriviu un nom nou per a la columna escollida.

Pas 4: Actualitzeu la base de dades o la taula per acabar els passos de canvi de nom.

Pas 5: Executeu la instrucció SELECT per verificar el nom de columna canviat.

NOTA: Canviar el nom del nom de la columna mitjançant SSMS no és una bona idea perquè pot dificultar la comprensió del treball del DBA mentre s'utilitzen les taules de la base de dades. Per tant, sempre es recomana utilitzar consultes T-SQL per fer qualsevol canvi a la base de dades.