Este artículo proporcionará una revisión del formato del código SQL utilizando las opciones del SQL formatter.
No a muchas personas les gusta leer una gran cantidad de texto, incluso cuando es simple. Cuando se lee un script SQL donde solo hay en su mayoría una gran cantidad de códigos SQL sin formato, ese es un problema que se agrava.
El código SQL suele tener diferentes estilos de formato SQL, lo que podría generar que un trabajo sea más fácil o más difícil. Puede generar que el código sea difícil de descifrar y entender. Un SQL limpio se puede leer mucho más rápido que un SQL escrito inconsistentemente; La revisión y resolución de problemas de SQL son más eficientes; Los esfuerzos en el desarrollo conjunto son más efectivos; entregar proyectos de un equipo a otro es más fácil.
Cómo lograr que el código sea legible para que sea lo suficientemente simple para hojearlo y obtener una idea general es importante.
El SQL formatter es el que hace la diferencia.
Todo el código SQL puede formatearse manualmente, lo cual requiere mucho tiempo, pero hay otras herramientas de formateador de SQL de terceros y se pueden utilizar para ayudar a formatear de manera rápida y eficiente.
Este artículo lo guiará a través de algunas de las opciones del formateador de SQL a través de SSMS y el uso de una herramienta de formato de SQL de terceros, como ApexSQL Refactor para formatear el código.
Entonces, empecemos primero por las opciones del formateador SQL para formatear el código y luego el complemento del ApexSQL Refactor para hacer lo mismo y más.
Sangría
En SQL Server, tres son tres opciones para sangrar el código SQL.
Para seleccionar las opciones de sangría deseadas, vaya al menú Herramientas de SSMS y, en el menú contextual, elija el comando Opciones:
En la ventana Opciones, haga clic en la pestaña Editor de texto y en la subpestaña Todos los idiomas, seleccione la pestaña: Pestañas:
- Ninguna
Cuando se elige esta opción, en un editor de consultas y cuando se presiona la tecla Intro desde el teclado, el cursor va al principio de la siguiente línea:
- Bloque
Cuando se elige esta opción, en un editor de consultas, cuando se presiona la tecla Intro, el cursor alinea la siguiente línea con la línea anterior:
- Inteligente
De una forma predeterminada, se utiliza esta opción. Determina el estilo apropiado de sangría a utilizar.
En la pestaña Pestañas, , se puede especificar cuántos espacios componen una sangría o pestaña individual, y si el Editor usa pestañas o caracteres de espacio al sangrar.
Si se requieren caracteres de tabulación para las operaciones de sangría y tabulación, seleccione el botón de opción Mantener pestañas:
De otro modo si desea utilizar caracteres de espacio para las operaciones de sangría y tabulación, elija el botón de opción Insertar espacios:
Debajo de los cuadros Tamaño de pestaña y Tamaño de sangría, hay que ingresar el número de caracteres de espacio, cada pestaña o sangría representa:
Para sangrar el código SQL, en un editor de consultas, hay que seleccionar el código que desea sangrar y presione la tecla Tabuladordesde el teclado o, desde la barra de herramientas del Editor SQL presione el botón Sangrar:
Para el código de desvinculación, presione las teclas Mayús + Tabulador keys or use the Desvincular de la barra de herramientas del Editor SQL :
Las mismas opciones para la sangría y el código no deseado están disponibles en el submenú Avanzado del menú Editar menu:
Para transformar espacios en tabulaciones en código SQL y viceversa en un editor de consultas, escoja los espacios que desee convertir en tabulaciones, diríjase al menú Editar y, en el submenú Avanzado, elija el comando Tabular líneas seleccionadas para convertir el espacio en blanco en pestañas y elija el comando líneas seleccionadas Untabify para convertir las pestañas en espacios:
Para poder apreciar si los espacios en un código se convierten en pestañas y viceversa, diríjase a Editor principal y en el submenú Avanzado, elija el comando Ver espacio blanco:
Por ejemplo, si se utiliza el comando Tabular líneas seleccionadas en el código para convertir espacios en pestañas, utilice el siguiente código:
Se verá de la siguiente manera:
Y cuando el comando líneas seleccionadas Untabify se usa para convertir tabulaciones en espacios, el código SQL se verá así:
Todas las veces que se realiza la migración de datos de cualquier sistema antiguo a sistemas nuevos/actualizados, utilizando distintos formatos como archivos de texto, csv, excel o algún otro formato para insertar datos en SQL Server, se pueden agregar espacios en blanco adicionales, como en el ejemplo a continuación:
Por suerte, estos espacios en blancos se pueden eliminar fácilmente con la opción Eliminar espacio en blanco horizontal. En un editor de SQL, seleccione el código y en el submenú Avanzado del menú Editor, elija el comando Eliminar espacio horizontal en blanco:
El Eliminar espacio en blanco horizontal suprime todos los espacios para el código SQL seleccionado:
Otra manera de deshacerse de espacios en blanco innecesarios es mantener presionada la tecla Alt y hacer clic con el botón izquierdo del ratón, seleccionar el bloque de espacios en blanco:
Después de seleccionar hay que presionar la tecla Eliminar para eliminar esos espacios:
Alternativamente, con este tipo de selección, se puede agregar un texto varias veces a la vez. Para tener una idea más clara, para agregar un alias de tabla a las columnas en este caso, el alias a:
Presione la tecla Alt en el teclado y haga clic con el botón izquierdo del mouse, haga clic y arrastre para seleccionar el bloque deseado antes de las columnas, Como puede observar, aparecerá una línea azul vertical muy clara, después de eso, simplemente escriba la última a con el punto (.) y se colocará delante de todas las columnas:
Convertir código SQL a mayúsculas o minúsculas
Para convertir el código en mayúsculas en un editor de consultas, seleccione un código que quiera convertir, en el submenú Avanzado, elija el comando Crear mayúsculas o use el acceso directo Ctrl+Shift+U:
El código seleccionado se formateará de la siguiente forma:
Para poder convertir el código en minúsculas, seleccione el código deseado y use el comando Crear minúscula o el atajo de Ctrl+Shift+L:
Envolviendo código SQL
Cuando los scripts T-SQL se crearon con líneas T-SQL largas, para poder revisar el código en dichos scripts T-SQL, use la barra de desplazamiento horizontal o genere saltos de línea en varios puntos para poder hacer que la línea sea legible y deshacerse de la barra de desplazamiento horizontal. Desplazarse o tener que romper las líneas de revisión de código de código puede llevar mucho tiempo.
En SQL Server Management Studio (SSMS) hay una opción para el ajuste de palabras.
En el menú Herramientas, seleccione el comando Opciones:
En la ventana de Opciones, expanda la pestaña Editor de texto y debajo de la pestaña General de Todos los idiomas, se encuentra la opción de ajuste de palabras:
Por defecto, esta opción no está marcada. Cuando se marca la opción de ajuste de palabras, la opción Mostrar glifos visuales para ajuste de palabras queda ya disponible:
La opción Mostrar glifos visuales para ajuste de palabras puso marcas en cada línea donde se aplica el ajuste de palabras.
En el ejemplo a continuación, se muestra un código SQL sin ajuste de palabra y Mostrar glifos visuales para las opciones de ajuste de palabra y con estas opciones marcadas.
Código sin ajuste de palabras and Mostrar los glifos visuales para las opciones de ajuste de palabras marcadas:
Codifique con ajuste de palabras y Mostrar los glifos visuales para las opciones de ajuste de palabras marcadas:
Como se puede apreciar, la barra de desplazamiento horizontal se ha ido y los lugares donde se ha aplicado el ajuste de palabra están marcados.
Herramienta de formateador SQL realizadas por terceros
En esta parte del artículo se explicará en base lo que se puede archivar con la herramienta de formateo libre de SQL: ApexSQL Refactor.
Inicialmente se puede notar al instalar ApexSQL Refactor es que se puede usar de forma inmediata para dar formato al código SQL mediante el uso de una de las cuatro opciones en los perfiles de formato SQL:
- ApexSQL – contiene todo lo que ApexSQL determinó que es un buen estándar de formateador SQL
- Compacto – – todas las opciones de espaciado no están marcadas, las sangrías están configuradas en 0 (cero) espacios, se eliminan las líneas vacías para una consulta donde el código SQL parece denso
- Ampliado – adiciona espacios, líneas vacías antes/ después de cada instrucción. En la base, este perfil es lo opuesto al perfil compacto.
- MSDN SQL BOL – – emula el estilo que se usa en el sitio de recursos de MSDN site
Si esto no satisface sus necesidades, se puede generar un nuevo perfil de formato SQL simplemente haciendo clic en el botón Nuovo en la ventana de Opciones y complete la información sobre el nombre de un nuevo perfil de formateador SQL y presione el botón OK:
Debajo de la pestaña Formato se puede establecer la sangría y el texto de ajuste de palabras y evadir la barra de desplazamiento horizontal en un editor de consultas al marcar la casilla Ajustar líneas más de lo que está marcada y poder establecer la cantidad de caracteres que determinará cuan larga será una línea:
En la pestaña Uso de mayúsculas se puede determinar una regla de uso de mayúsculas para las palabras clave SQL, Tipos de datos, Identificadores, Funciones del sistema, Variables por separado:
De mejor forma todos los cambios que se logren realizan al elegir algunas de las opciones son inmediatamente visibles en la sección de vista previa de la ventana de Opciones:
Otro avance del uso de ApexSQL Refactor es su capacidad para compartir los perfiles personalizados creados y poder hacerlos accesibles a otros, haciendo clic en el botón Exportar:
Los compañeros de trabajo también pueden importar el perfil de formato SQL compartido y poder hace múltiples aplicaciones en sus objetos SQL (procedimientos almacenados, funciones, vistas) o scripts SQL utilizando la función Formatear objetos SQL para objetos SQL o Formatear SQL scripts característica para scripts SQL a la vez.
Puede encontrar más información acerca de las características y opciones del formateador ApexSQL Refactor SQL en la parte superior de las mejores cosas que necesitas en una página de herramientas de formateador SQL.