Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Estrutura e Tipos de Blocos Oracle PLSQL


Aqui estaremos discutindo sobre a estrutura e os tipos de blocos do Oracle PLSQL

O que é PL/SQL



PL/SQL é a extensão proprietária da Oracle para SQL que permite recursos de linguagem procedural. Ele fornece todos os recursos da engenharia de software moderna, como encapsulamento de dados, tratamento de exceções, ocultação de informações e orientação a objetos

Por que usar PLSQL


1) Integração com ferramentas de desenvolvimento como formulários Oracle, Relatórios

2) Várias instruções podem ser agrupadas em um único bloco plsql   e enviadas para o servidor oracle, o que resulta em menos tráfego de rede

3) Desenvolvimento de programa modularizado:Divida a lógica/problema complexo em um conjunto de módulos lógicos gerenciáveis ​​e bem definidos e implemente-os usando blocos

4) Portabilidade:Por ser nativo do servidor Oracle, pode ser movido facilmente

5) Fornece estruturas de controle de linguagem procedural como condição if, looping

6) Tem a capacidade de lidar com erros e gerar exceção com base nele

Estrutura de bloco PLSQL


Um bloco plsql é feito em três seções Declare, executável e exceção.
DECLARAR(Opcional) – esta seção contém variáveis, constantes, cursores e exceções definidas pelo usuário.
BEGIN(Obrigatório)
EXECUTÁVEL – esta seção contém quaisquer instruções SQL.
EXCEÇÃO (opcional)- esta seção contém os manipuladores de erro.
END(Obrigatório);

Portanto, a declaração e a seção de exceção são opcionais.

Exemplo de estrutura de bloco
DECLARE 
 l_number  NUMBER;
 BEGIN
 l_number := 1;
 Dbms_output.put_line(l_number);
 Exception
 When others then
 Dbms_output.put_line(‘Exception occurred’);
 END;
 /

Pontos importantes para anotar

1) Todas as variáveis ​​e constantes são definidas na seção de declaração

2) Coloque um ponto e vírgula; no final da instrução sql ou instrução de controle plsql

3) Em PL/SQL todos os erros são tratados no bloco Exception.

4) Begin e End são instruções obrigatórias que indicam o início e o fim do Bloco PL/SQL.

5) Variáveis ​​e Constantes devem ser declaradas antes de serem usadas.

6) Valores podem ser atribuídos a variáveis ​​diretamente usando o operador de atribuição “:=”, por meio de uma instrução SELECT … INTO ou Quando usado como parâmetro OUT ou IN OUT de um procedimento.

7) A palavra-chave da seção Declare, Begin  ,exception não é seguida por ponto e vírgula

8) End e todas as outras instruções plsql requerem um ponto e vírgula para encerrar a instrução

Tipos de bloco PLSQL


Anônimo :Blocos anônimos são blocos sem nome. Eles são declarados no ponto da aplicação em que precisam ser executados
DECLARE 
 l_number  NUMBER;
 BEGIN
 l_number := 1;
 Dbms_output.put_line(l_number);
 Exception
 When others then
 Dbms_output.put_line(‘Exception occurred’);
 END;
 /

Função :São nomes de blocos PLSQL que podem aceitar parâmetros e computar alguma função e retorná-la. Pode ser armazenado no servidor ou aplicativo Oracle
Syntax
FUNCTION name [(parameter[, parameter, …])] RETURN datatype IS
 [local declarations]
 BEGIN
 executable statements
 [EXCEPTION exception handlers]
 END [name];
 Example
 Create or replace function FUNC return number
 As
 l_number  NUMBER;
 BEGIN
 Select count(*) into l_number  from emp;
 return(l_number)
 END;
 /

Procedimento :São nomes de blocos PLSQL que podem aceitar parâmetros e processar algumas informações e podem ou podem retornar valores. Pode ser armazenado no servidor ou aplicativo Oracle
Syntax
 PROCEDURE name [(parameter[, parameter, …])] IS
 [local declarations]
 BEGIN
 executable statements
 [EXCEPTION exception handlers]
 END [name];
 Example
 Create or replace procedure  remove_emp (emp_id  number)
 As
 BEGIN
 Delete from emp where employee_id=emp_id;
 END;
 /

Diferença  entre  função e procedimento

Função Procedimento
A função deve retornar um valor O procedimento não precisa
Sintaxe  Sintaxe
Nome da FUNÇÃO (lista de argumentos …..) O tipo de dados de retorno é Nome do PROCEDIMENTO (lista de parâmetros…..)
declarações de variáveis ​​locais é
Iniciar declarações de variáveis ​​locais
declarações executáveis INICIAR
Exceção Declarações executáveis.
manipuladores de execução Exceção.
Fim; manipuladores de exceção
  fim;
   
Função pode ser usada em SQL com alguma restrição O procedimento não pode ser chamado diretamente do SQL.

Sintaxe e Diretrizes do Bloco Oracle PLSQL


1) Os literais de caracteres e datas devem ser colocados entre aspas simples

2) Coloque comentários de várias linhas entre /* e */

3) A maioria das funções sql podem ser usadas em PLSQL. Temos a função char,date,number disponível em PLSQL assim como SQL

4) agrupar por função não estão disponíveis em PLSQL. Ele só pode ser usado na instrução sql no PLSQL

5) Devemos usar a indentação adequada para tornar o código legível

6) Recomenda-se escrever a instrução DML em letras maiúsculas, palavras-chave PLSQL, tipos de dados em letras maiúsculas e colocar identificadores e parâmetros em letras minúsculas para melhor legibilidade e manutenção

Links relacionados

Documentação do Oracle PLSQL
Pergunta mais comum da entrevista do Oracle PlSQL 25
Oracle sql e plsql
como escrever consultas sql