En ocasiones es necesario cambiar el nombre de una columna en una tabla de base de datos SQL SERVER, ya sea porque nos equivocamos en el nombre y hasta ahora nos dimos cuenta, o, por funcionalidad misma del programa. Es lógico pensar que ese cambio se realice con una sentencia ALTER, sin embargo, para este caso no es así, existe un stored procedure del sistema, que nos permite realizar ésta acción, pero vamos a pasar a lo interesante y a lo que nos gusta que es hacerlo.
Creando la tabla.
Primeramente vamos a crear la tabla con sus columnas para después proceder a cambiarles el nombre.
Como vemos en el script tenemos una tabla con 4 campos, pero observemos el campo apellidooa, claramente hay un error, lo correcto debería ser apellidopa, en este caso, podremos pensar que lo más fácil es borrar la tabla y volverla a crear, lo cual es correcto, pero si la tabla ya tiene datos o existen llaves foráneas que hagan referencia a ésta tabla, no será tan fácil borrarla, lo que deberíamos hacer será utilizar el procedimiento que el sistema nos provee para eso.
Como vemos existe el stored procedure de sistema llamado sp_rename, el cual recibe 3 argumentos, el primero es el nombre de la tabla y el campo que se desea cambiar, el segundo es el nombre nuevo que tendrá y el tercero es el tipo de objeto que se va a cambiar de nombre, en este caso es una columna. En otro post veremos este procedure mas a detalle, por ahora basta con sabe que mediante este procedimiento rápido se puede cambiar el nombre de una columna. Eso sí, nos advertirá que aunque se cambie el nombre de la columna, hay que cambiar los querys o procedimientos que manden llamar a esa columna, pues quedarán con el nombre viejo, por lo que nos muestra el siguiente mensaje
Caution: Changing any part of an object name
could break scripts and stored procedures.
Les dejaré un video para que quede más claro lo aquí tratado
Hasta aquí el post queridos lectores, les recuerdo que pueden preguntar, compartir o comentar. Espero también que haya sido de su agrado y utilidad y si pueden, dar un clic en algún anuncio patrocinado.
No hay comentarios.:
Publicar un comentario