SQL Server Begin/Fin

SQL Server Begin/Fin

El flujo de control es un bloque de construcción universal en la programación. Por lo tanto, no es sorprendente que SQL nos proporcione varios conceptos de flujo de control.

Una de esas construcciones es el comienzo ... las declaraciones finales. Estas palabras clave crean una serie de declaraciones Transact-SQL al encerrarlas en las cláusulas de principio y finalización. Las declaraciones adjuntas en estas declaraciones se ejecutan secuencialmente, realizando las tareas definidas. Un bloque de declaraciones SQL también se conoce como lote.

Estaremos encantados de guiarlo a través de las declaraciones iniciales y finales en SQL Server.

Sintaxis de declaración

Las declaraciones Begin and End siguen una sintaxis moderadamente simple, como se muestra en el fragmento a continuación:

COMENZAR
SQL_STATENMENT | Declaration_block
FIN

Los argumentos respaldados son como se muestra:

  1. sql_statement | stattle_block - Esto define una sola o múltiples declaraciones SQL (bloque) ejecutadas secuencialmente.

También puede anidar múltiples declaraciones de inicio y finalización.

Si bien todas las declaraciones Transact-SQL son válidas dentro de un bloque de inicio ... final, hay declaraciones específicas que no deben agruparse en el mismo bloque.

SQL Server Begin… End de ilustraciones de ejemplo

Lo siguiente ilustra cómo podemos usar las declaraciones Begin and End en SQL Server. Por ejemplo, supongamos que tenemos una base de datos y una tabla con los siguientes registros.

Drop Base de datos si existe resolución;
crear resolución de base de datos;
usar resolución;
Tabla de caída si existe entradas;
crear entradas de mesa (
ID int no identidad nula (1,
1) Clave primaria,
server_name varchar (50),
server_address varchar (255) no nulo,
compresion_method varchar (100) predeterminado 'ninguno',
size_on_disk float no nulo,
size_compreted flotante,
Total_records int no nulo,
Fecha de init_date
);
insertar
en
Entradas (server_name,
dirección del servidor,
método de compresión,
size_on_disk,
size_comprised,
Total_Records,
init_date)
valores ('mysql',
'Localhost: 3306',
'LZ77',
90.66,
40.04,
560000,
'2022-01-02'),
('Redis',
'Localhost: 6307',
'Rápido',
3.55,
998.2,
100000,
'2022-03-19'),
('PostgreSQL',
'Localhost: 5432',
'Pglz',
101.2,
98.01,
340000 ,
'2022-11-11'),
('Elasticsearch',
'Localhost: 9200',
'LZ4',
333.2,
300.2,
1200000,
'2022-10-08'),
('MongoDB',
'Localhost: 27017',
'Rápido',
4.55,
4.10,
620000,
'2021-12-12'),
('Apache Cassandra',
'Localhost: 9042',
'ZSTD',
300.3,
200.12,
10000000,
'2020-03-21');

Podemos crear un ejemplo elemental de la instrucción Begin/End que selecciona el registro donde el SERVER_NAME contiene MySQL.

Usar resolución;
COMENZAR
SELECCIONAR
*
DE
Entradas e
DÓNDE
'Mysql' in (server_name);
FIN;

Ejecutar la consulta anterior debe devolver el registro coincidente.

Finalizando

Aunque el ejemplo anterior es simple, ilustra la implementación del comienzo ... las declaraciones finales en SQL Server.

Esperamos que el objetivo de nuestro tutorial se haya logrado.