Sentencia BEGIN END de SQL Server

Resumen: en este tutorial, aprenderá a utilizar la sentencia BEGIN...END para envolver un conjunto de sentencias Transact-SQL en un bloque de sentencias.

Resumen de la sentencia BEGIN…END

La sentencia BEGIN...END se utiliza para definir un bloque de sentencias. Un bloque de sentencias consiste en un conjunto de sentencias SQL que se ejecutan juntas. Un bloque de sentencias también se conoce como lote.

En otras palabras, si las sentencias son frases, la sentencia BEGIN...END permite definir párrafos.

Lo siguiente ilustra la sintaxis de la sentencia BEGIN...END:

Code language: SQL (Structured Query Language) (sql)

En esta sintaxis, se coloca un conjunto de sentencias SQL entre las palabras clave BEGIN y END, por ejemplo:

Code language: SQL (Structured Query Language) (sql)

Salida:

Servidor SQL BEGIN END ejemplo

Para ver los mensajes generados por la sentencia PRINT, en SQL Server Management Studio, hay que hacer clic en la pestaña Messages. Por defecto, la pestaña Mensajes está oculta.

En este ejemplo:

  • En primer lugar, tenemos un bloque que comienza con la palabra clave BEGIN y termina con la palabra clave END
    .
  • En segundo lugar, dentro del bloque, tenemos una sentencia SELECT que encuentra los productos cuyos precios de lista son superiores a 100.000. A continuación, tenemos la sentencia IF para comprobar si la consulta devuelve algún producto e imprimir un mensaje si no devuelve ningún producto.

Nótese que la @@ROWCOUNT es una variable del sistema que devuelve el número de filas afectadas por la última sentencia anterior.

La sentencia BEGIN... END limita un bloque lógico de sentencias SQL. A menudo utilizamos el BEGIN...END al inicio y al final de un procedimiento almacenado y de una función. Pero no es estrictamente necesario.

Sin embargo, el BEGIN...END es necesario para las sentencias IF ELSE, WHILE, etc., donde se necesita envolver múltiples sentencias.

Anidamiento BEGIN… END

El bloque de sentencias puede ser anidado. Simplemente significa que puede colocar una sentencia BEGIN...END dentro de otra sentencia BEGIN... END.

Considere el siguiente ejemplo:

Code language: SQL (Structured Query Language) (sql)

En este ejemplo, hemos utilizado la sentencia BEGIN...END para envolver todo el bloque de sentencias. Dentro de este bloque, también usamos la BEGIN...END para la sentencia IF...ELSE.

En este tutorial, ha aprendido sobre la sentencia BEGIN...END de SQL Server para envolver sentencias Transact-SQL en bloques.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.