Marko Zivkovic

Gestionar el formato de código SQL empleando las opciones del SQL formatter

May 24, 2019 by

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:

SSMS options

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:

SSMS indenting options

  • 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:

SSMS indenting options - none

  • 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:

SSMS indenting options - block

  • 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:

SSMS text editor options - tabs

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:

SSMS text editor options - insert spaces

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:

SSMS text editor options - tabs, tab size

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:

SSMS text editor options - indenting code from the editor

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 :

https://s33046.pcdn.co/wp-content/uploads/2018/10/word-image-224.png

Las mismas opciones para la sangría y el código no deseado están disponibles en el submenú Avanzado del menú Editar menu:

SSMS text editor options - indenting menu options

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:

SSMS text editor options - tabify options

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:

SSMS text editor options - white space

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:

SSMS text editor SQL layout options - spaces

Se verá de la siguiente manera:

SSMS text editor SQL layout options - spaces converted to tabs

Y cuando el comando líneas seleccionadas Untabify se usa para convertir tabulaciones en espacios, el código SQL se verá así:

SSMS text editor SQL layout options - tabs converted to spaces

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:

SSMS text editor SQL layout options - delete horizontal white space

El Eliminar espacio en blanco horizontal suprime todos los espacios para el código SQL seleccionado:

SSMS text editor SQL layout options - spaces - Delete Horizontal White Space removes all spaces for the selected SQL code

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:

SSMS SQL layout text editor options - Make uppercase

El código seleccionado se formateará de la siguiente forma:

SSMS SQL layout text editor options - Make uppercase results

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:

SSMS SQL layout text editor options - Make lowercase

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:

SSMS SQL layout text editor options - wrapping

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:

SSMS SQL layout text editor options - Word wrap

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:

SSMS SQL layout text editor options - Word wrap - show visual glyphs for word wrap

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:

Code without Word wrap and Show visual glyphs for word wrap options checked

Codifique con ajuste de palabras y Mostrar los glifos visuales para las opciones de ajuste de palabras marcadas:

Code with Word wrap and Show visual glyphs for word wrap options checked

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

SQL layout style - MSDN SQL BOL – emulates the style that is used in the MSDN resource 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:

Create a custom SQL formatter profile

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:

SQL formatting options - Indentation

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:

SQL formatting options - Capitalization

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:

SQL formatter options - column lists

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:

SQL formatter options - exporting profiles

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.


Marko Zivkovic
168 Views