Milena Petrovic

Errores comunes de sintaxis SQL y cómo resolverlos

December 4, 2015 by
En SQL Server Management Studio, los errores pueden ser rastreados fácilmente, usando el panel incorporado Error List. Este panel puede ser activado en el menú View, o usando los métodos abreviados Ctrl + \ y Ctrl + E.

Selecting the Error List pane in SSMS

El panel Error List muestra los errores de sintaxis y semántica encontrados en el editor de consultas. Para navegar directamente al error de sintaxis SQL en el editor de scripts, haga doble clic en el error mostrado correspondiente en Error List.

Errores de Palabras Clave SQL

Los errores de Palabras Clave SQL ocurren cuando una de las palabras que el lenguaje de consultas SQL reserva para sus comandos y cláusulas está mal escrita. Por ejemplo, escribir “UPDTE” en lugar de “UPDATE” producirá este tipo de error.

En este ejemplo, la palabra clave “TABLE” está mal escrita:

Dialog showing that the heyword “TABLE” is misspelled

Dialog showing not only the word “TBLE” is highlighted, but also the words around it

Como se muestra en la anterior imagen, no sólo la palabra “TBLE” está resaltada, sino también las palabras a su alrededor. La siguiente imagen muestra que este simple error causa que muchas palabras sean resaltadas.

De hecho, hay un total de 49 errores reportados sólo porque una palabra clave está mal escrita.

Dialog showing the SQL syntax Error list

Si el usuario quiere resolver todos los errores reportados sin encontrar el original, lo que comenzó como un simple error tipográfico se convierte en un problema mucho más grande.

También es posible que todas las palabras clave SQL estén bien escritas, pero su orden no es el correcto. Por ejemplo, la sentencia “FROM Table_1 SELECT *” reportará un error de sintaxis SQL.

SQL keywords are spelled correctly, but their arrangement is not in the correct order

Usando comillas

El orden incorrecto de palabras clave ciertamente causará un error, pero un orden incorrecto de comandos puede también ser un problema.

Si el usuario, por ejemplo, está tratando de crear un nuevo esquema en una base de datos, pero primero quiere revisar si hay ya un esquema con el mismo nombre, él podría escribir el siguiente comando.

Command to check if there is already a schema with the same name

Sin embargo, incluso aunque cada comando es apropiadamente escrito y puede correr separadamente sin errores, en esta forma resulta en un error.

Incorrect syntax error

Como el mensaje de error indica, el comando CREATE SCHEMA tiene que el primer comando que es dado. La forma correcta de correr estos comandos juntos se ve así:

The correct way of running CREATE SCHEMA command

Usando comillas

Otro error común que ocurre cuando se escribe un proyecto SQL es usar comillas dobles en lugar de comillas simples. Las comillas simples son usadas para delimitar cadenas. Por ejemplo, las comillas dobles son usadas aquí en lugar de las comillas simples, lo que causa un error.

Useng double quotation marks instead of single ones

Invalid column name error

Reemplazar las comillas dobles por unas simples resuelve el error.

Replacing quotation marks with the proper ones

Hay situaciones donde las comillas dobles necesitan ser usadas, por ejemplo para citas generales.

Situation where double quotation marks need to be used

Como se muestra en el ejemplo previo, esto causará un error. Pero esto no significa que las comillas dobles no pueden ser usadas, ellas sólo tienen que estar dentro de comillas simples. Sin embargo, añadir comillas simples en este ejemplo no resolverá el problema, sino que causará otro.

Adding single quotes in this example won’t solve the problem

Dado que hay un apóstrofe dentro de esta cita, es erróneamente usada como el final de una cadena. Todo más allá de eso es considerado un error.

Two SQL syntax errors

Para poder usar un apóstrofe dentro de una cadena, tiene que ser “escapado”, de manera que no sea considerado como un delimitador de cadena. Para “escapar” un apóstrofe, otro apóstrofe tiene que ser usado al lado del otro, como se muestra a continuación.

Dialog showing how to “escape” an apostrophe to resolve a SQL syntax error

Encontrando errores de sintaxis SQL

Encontrar errores de sintaxis SQL puede ser complicado, pero hay algunos consejos acerca de cómo hacerlo un poco más fácil. Usar la ya mencionada Error List ayuda en gran manera. Permite al usuario revisar errores mientras aún está escribiendo el proyecto y evadir el buscar entre miles de líneas de código.

Otra manera de ayudar es dar un formato apropiado al código.

Bad SQL formatting example

Esto puede mejorar la legibilidad del código, por tanto haciendo la búsqueda de errores más fácil.

Properly formatted T-SQL code

Traductor: Daniel Calbimonte


Milena Petrovic
168 Views