Bloco PL/SQL: Estrutura, Sintaxe e Exemplo Anônimo
⚡ Resumo Inteligente
Um bloco PL/SQL é a unidade básica que agrupa instruções PL/SQL e SQL para que sejam executadas juntas, em vez de linha por linha. Cada bloco possui uma seção de declaração, uma de execução e uma de tratamento de exceções, e os blocos podem ser anônimos ou nomeados.

O que é um bloco PL/SQL?
Em PL/SQL, o código não é executado em formato de linha única; ele é sempre executado em grupos.ping O código é dividido em um único elemento chamado bloco. Neste tutorial, você aprenderá sobre esses blocos.
Os blocos contêm instruções PL/SQL e SQL. Todas essas instruções são executadas em conjunto, em vez de uma de cada vez.
Estrutura do bloco
Os blocos PL/SQL possuem uma estrutura predefinida na qual o código é agrupado. Abaixo estão as diferentes seções de um bloco PL/SQL:
- Seção de declaração
- Seção de execução
- Seção Tratamento de Exceções
A imagem abaixo ilustra as diferentes seções de um bloco PL/SQL e sua ordem.
Seção de Declaração
Esta é a primeira seção de um bloco PL/SQL e é opcional. É a seção na qual são declaradas as variáveis, cursores, exceções, subprogramas, instruções pragma e coleções necessárias no bloco. Algumas outras características desta parte:
- Esta seção é opcional e pode ser ignorada caso não sejam necessárias declarações.
- Deve ser a primeira seção em um bloco PL/SQL, se houver.
- Começa com a palavra-chave 'DECLARE' para gatilhos e blocos anônimos. Para outros subprogramas, essa palavra-chave não está presente; em vez disso, a parte após o nome do subprograma marca a seção de declaraçã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 efetivamente executa o código escrito dentro dela. PL/SQL Espera instruções executáveis; este bloco não pode estar vazio e deve conter pelo menos uma linha executável válida. Algumas outras características desta parte:
- Pode conter código PL/SQL e código SQL.
- Pode conter um ou vários blocos em seu interior, na forma de blocos aninhados.
- Começa com a palavra-chave 'BEGIN'.
- Deve ser seguido por 'FIM' ou pela seção de tratamento de exceções, se presente.
Seção de Tratamento de Exceções
Exceções são erros inevitáveis que ocorrem em tempo de execução, e para lidar com elas é necessário... Oracle Fornece uma seção de tratamento de exceções em blocos. Esta seção também pode conter instruções PL/SQL e é opcional.
- Esta é a seção onde uma exceção lançada no bloco de execução é tratada.
- É a última parte do bloco PL/SQL.
- O controle desta seção nunca pode retornar ao bloco de execução.
- Começa com a palavra-chave 'EXCEÇÃO'.
- Deve sempre ser seguido pela palavra-chave 'FIM'.
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 --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
Observação: Um bloco deve sempre ser seguido por '/', que envia informações ao compilador sobre o fim do bloco.
Tipos de Blocos PL/SQL
Os blocos PL/SQL são principalmente de dois tipos:
- Blocos anônimos
- Blocos nomeados
Os dois são comparados rapidamente abaixo, antes de cada um ser descrito.
| Aspecto | Bloco Anônimo | Bloco nomeado |
|---|---|---|
| Tem um nome | Não | Sim |
| Armazenado no banco de dados | Não | Sim, como um objeto |
| Começa com | DECLARE ou BEGIN | CRIAR |
| Reutilizável | Somente na mesma sessão | Disponível para chamada a qualquer momento. |
Blocos Anônimos
Blocos anônimos são blocos PL/SQL que não possuem nenhum nome atribuído. Eles precisam ser criados e usados na mesma sessão, pois não são armazenados no servidor como objetos de banco de dados.
Como não são armazenadas no banco de dados, não necessitam de uma etapa de compilação separada. São escritas e executadas diretamente, e a compilação e a execução ocorrem em um único processo. Algumas outras características:
- Esses blocos não possuem nome de referência.
- Começam com a palavra-chave 'DECLARE' ou 'BEGIN'.
- Como não possuem um nome de referência, não podem ser armazenados para uso posterior e devem ser criados e executados na mesma sessão.
- Eles podem chamar outros blocos nomeados, mas uma chamada para um bloco anônimo não é possível, pois ele não possui referência.
- Podem conter um bloco aninhado, nomeado ou anônimo, e também podem ser aninhados dentro de qualquer bloco.
- Podem ter todas as três seções, sendo a seção de execução obrigatória e as outras duas opcionais.
Blocos Nomeados
Os blocos nomeados possuem um nome específico e único. Eles são armazenados como objetos de banco de dados no servidor, podendo ser referenciados ou utilizados enquanto estiverem presentes. O processo de compilação dos blocos nomeados ocorre separadamente quando eles são criados como objetos de banco de dados. Algumas outras características:
- Esses blocos podem ser chamados de outros blocos.
- A estrutura do bloco é a mesma de um bloco anônimo, exceto que nunca começa com 'DECLARE'. Em vez disso, começa com 'CREATE', que instrui o compilador a criá-lo como um objeto de banco de dados.
- Esses blocos podem ser aninhados dentro de outros blocos e também podem conter blocos aninhados.
- Os blocos nomeados são basicamente de dois tipos:
- Procedimento
- função
Você pode aprender mais sobre esses blocos nomeados no guia para procedimentos e funções.


