O fluxo de controle é um bloco de construção universal na programação. Portanto, não é surpresa que o SQL nos forneça vários conceitos de fluxo de controle.
Uma dessas construções é o começo ... declarações finais. Essas palavras-chave criam uma série de instruções transact-sql, envolvendo-as nas cláusulas iniciantes e finais. As declarações anexadas nessas declarações são executadas sequencialmente, executando as tarefas definidas. Um bloco de declarações SQL também é conhecido como um lote.
Teremos o maior prazer em orientá -lo através das declarações iniciantes e finais no SQL Server.
Declaração Sintaxe
As declarações iniciais e finais seguem uma sintaxe moderadamente simples, como mostrado no trecho abaixo:
COMEÇAR
sql_statement | declaração_block
FIM
Os argumentos suportados são como mostrados:
Você também pode aninhar múltiplas declarações iniciais e finais.
Embora todas as declarações transact-sql sejam válidas dentro de um bloco de início… final, existem declarações específicas que não devem ser agrupadas no mesmo bloco.
SQL Server Begin… Exemplo de Exemplo de Ilustrações
A seguir, ilustra como podemos usar declarações iniciais e finais no SQL Server. Por exemplo, suponha que tenhamos um banco de dados e uma tabela com os seguintes registros.
soltar o banco de dados se existir resolvedor;
criar resolvedor de banco de dados;
use resolver;
soltar a mesa se existir entradas;
Crie entradas de tabela (
Id int não identidade nula (1,
1) chave primária,
Server_name Varchar (50),
Server_address Varchar (255) não nulo,
compressão_method Varchar (100) padrão 'nenhum',
size_on_disk float não nulo,
Size_Compressed Float,
Total_records int não nulo,
init_date data
);
inserir
em
Entradas (server_name,
endereço do servidor,
método de compressão,
tamanho no disco,
size_compressado,
total_records,
init_date)
valores ('mysql',
'Localhost: 3306',
'LZ77',
90.66,
40.04,
560000,
'2022-01-02'),
('Redis',
'Localhost: 6307',
'Snappy',
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',
'Snappy',
4.55,
4.10,
620000,
'2021-12-12'),
('Apache Cassandra',
'Localhost: 9042',
'zstd',
300.3,
200.12,
10000000,
'2020-03-21');
Podemos criar um exemplo elementar da instrução Iniciar/End que seleciona o registro em que o server_name contém mysql.
Use resolver;
COMEÇAR
Selecione
*
DE
Entradas e
ONDE
'Mysql' em (server_name);
FIM;
Executar a consulta acima deve retornar o recorde de correspondência.
Final
Embora o exemplo acima seja simples, ele ilustra a implementação do início ... declarações finais no SQL Server.
Esperamos que o objetivo do nosso tutorial tenha sido realizado.