O que é bloco PL / SQL?
No PL / SQL, o código não é executado no formato de linha única, mas sempre é executado agrupando o código em um único elemento chamado Blocos. Neste tutorial, você aprenderá sobre esses blocos.
Os blocos contêm instruções PL / SQL e também SQL. Todas essas instruções serão executadas como um todo, em vez de executar uma única instrução de cada vez.
Neste tutorial, você aprenderá:
- O que é bloco PL / SQL?
- Estrutura do Bloco
- Sintaxe de bloco PL / SQL
- Tipos de bloco PL / SQL
Estrutura do Bloco
Os blocos PL / SQL possuem uma estrutura predefinida na qual o código deve ser agrupado. Abaixo estão as diferentes seções de blocos PL / SQL.
- Seção de declaração
- Seção de execução
- Seção de tratamento de exceções
A imagem abaixo ilustra os diferentes blocos PL / SQL e sua ordem de seção.
Seção de declaração
Esta é a primeira seção dos blocos PL / SQL. Esta seção é opcional. Esta é a seção em que a declaração de variáveis, cursores, exceções, subprogramas, instruções pragma e coleções que são necessárias no bloco serão declaradas. Abaixo estão mais algumas características desta parte.
- Esta seção específica é opcional e pode ser ignorada se nenhuma declaração for necessária.
- Esta deve ser a primeira seção em um bloco PL / SQL, se houver.
- Esta seção começa com a palavra-chave 'DECLARE' para gatilhos e bloqueio anônimo. Para outros subprogramas, esta palavra-chave não estará presente. Em vez disso, a parte após a definição do nome do subprograma marca a seção de declaração.
- Esta seção deve sempre ser seguida pela seção de execução.
Seção de Execução
A parte de execução é a parte principal e obrigatória que realmente executa o código que está escrito dentro dela. Como a PL / SQL espera as instruções executáveis deste bloco, não pode ser um bloco vazio, ou seja, deve ter pelo menos uma linha de código executável válida. Abaixo estão mais algumas características desta parte.
- Isso pode conter código PL / SQL e código SQL.
- Isso pode conter um ou vários blocos dentro dele como um bloco aninhado.
- Esta seção começa com a palavra-chave 'BEGIN'.
- Esta seção deve ser seguida por 'END' ou seção Tratamento de exceções (se houver)
Seção de tratamento de exceções:
A exceção é inevitável no programa que ocorre em tempo de execução e, para lidar com isso, o Oracle forneceu uma seção de manipulação de exceções em blocos. Esta seção também pode conter instruções PL / SQL. Esta é uma seção opcional dos blocos PL / SQL.
- Esta é a seção onde a exceção gerada no bloco de execução é tratada.
- Esta seção é a última parte do bloco PL / SQL.
- O controle desta seção nunca pode retornar ao bloco de execução.
- Esta seção começa com a palavra-chave 'EXCEÇÃO'.
- Esta seção deve ser sempre seguida pela palavra-chave 'END'.
A palavra-chave 'END' marca o fim do bloco PL / SQL.
Sintaxe de bloco PL / SQL
Abaixo está a sintaxe da estrutura de bloco PL / SQL.
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
Nota: Um bloco deve sempre ser seguido por '/' que envia a informação ao compilador sobre o final do bloco.
Tipos de bloco PL / SQL
Os blocos PL / SQL são principalmente de dois tipos.
- Bloqueios anônimos
- Blocos Nomeados
Bloqueios anônimos:
Blocos anônimos são blocos PL / SQL que não possuem nenhum nome atribuído a eles. Eles precisam ser criados e usados na mesma sessão porque não serão armazenados no servidor como objetos de banco de dados.
Como não precisam ser armazenados no banco de dados, não precisam de etapas de compilação. Eles são escritos e executados diretamente, e a compilação e execução acontecem em um único processo.
Abaixo estão mais algumas características dos blocos anônimos.
- Esses blocos não têm nenhum nome de referência especificado para eles.
- Esses blocos começam com a palavra-chave 'DECLARE' ou 'BEGIN'.
- Uma vez que esses blocos não têm nenhum nome de referência, eles não podem ser armazenados para fins posteriores. Eles devem ser criados e executados na mesma sessão.
- Eles podem chamar os outros blocos nomeados, mas a chamada ao bloco anônimo não é possível porque não há nenhuma referência.
- Ele pode ter um bloco aninhado nele, que pode ser nomeado ou anônimo. Ele também pode ser aninhado em qualquer bloco.
- Esses blocos podem ter todas as três seções do bloco, em que a seção de execução é obrigatória, as outras duas seções são opcionais.
Blocos nomeados:
Os blocos nomeados têm um nome específico e exclusivo para eles. Eles são armazenados como objetos de banco de dados no servidor. Uma vez que estão disponíveis como objetos de banco de dados, eles podem ser referidos ou usados, desde que estejam presentes no servidor. O processo de compilação de blocos nomeados acontece separadamente ao criá-los como objetos de banco de dados.
Abaixo estão mais algumas características dos blocos nomeados.
- Esses blocos podem ser chamados de outros blocos.
- A estrutura do bloco é a mesma de um bloco anônimo, exceto que nunca começará com a palavra-chave 'DECLARE'. Em vez disso, ele começará com a palavra-chave 'CREATE', que instrui o compilador a criá-lo como um objeto de banco de dados.
- Esses blocos podem ser aninhados em outros blocos. Ele também pode conter blocos aninhados.
- Os blocos nomeados são basicamente de dois tipos:
- Procedimento
- Função
Resumo
Após este tutorial, você deve estar ciente dos blocos PL / SQL e seus tipos, diferentes seções de blocos e seus usos. A descrição detalhada dos blocos PL / SQL nomeados será abordada no tutorial posterior.