Banco de dados
1- Estrutura de um bloco PL/SQL
DECLARE Declaração de variáveis
BEGIN
Manipulações
EXCEPTION
Exceções
END;
1.1 – Escopo de um bloco PL/SQL
DECLARE
BEGIN
DECLARE BEGIN
EXCEPTION END;
EXCEPTION
END;
2- Variáveis e constantes
Sintaxe WK_AUXNUM NUMBER (5)
Tipos de dados:
Number: numérico
Date: data e hora
Varchar2: caracter
Char: caracter de uma posição
2.1 – Manipulação de variável
Exemplo 1: WK_AUXNUM := 30; (Atribuição de valor)
Exemplo 2:
SELECT codcli, nomcli
INTO WK_CODCLI , WK_NOMCLI
FROM cliente
WHERE codcli=30;
2.2 – Type e Rowtype %type: faz com que uma variável assuma o formata dos valores de uma coluna da base. Sintaxe: WK_CODCLI cliente codcli%type %rowtype: cria um registro completo utilizando-se as características de uma tabela de base.
Sintaxe:
REG_CLIENTE cliente%rowtype
*Para acessar cada valor do registro criado com a %rowtype, utilizamos a seguinte sintaxe:
WK_AUX := REG_CLIENTE.CODCLI.
*habilitar modo depuração = ser serveroutput on;
3. Controle condicional
Usado para tomar determinadas ações alternativas dependendo do resultado de determinadas operações ou de circunstâncias quaisquer.
Sintaxe:
If then
Acoes sql
End if;
If then
Acoes sql
End if;
If then
Acoes sql
Elsif then
Acoes sql
Else
Acoes sql
End if;
4. Controle iterativo
4.1- Loop
Sintaxe:
Loop
Acoes sql
End loop;
*para sair do laco usamos: exit [when];
4.2 while
Sintaxe: While loop Acoes sql End loop;
*a função exit, funciona também se necessário.
4.3 for
Sintaxe
For in loop Acoes sql
End loop;
*a função “exit”, funciona também se necessário.
5. Cursores
São utilizados para a manipulação de buscas que retornam mais de um registro.
Sintaxe:
Cursor is
Exemplo:
Declare
Cursor c1 is Select * nomcli from cliente;
Begin
...
End;
Para processar cada registro do