Aula 04 - Primeiros Passos no PL/SQL
Aula 04 - Primeiros Passos no PL/SQL
Introdução ao PL/SQL
PL/SQL, ou Procedural Language/Structured Query Language, é uma extensão procedural da SQL (Structured Query Language) criada pela Oracle. Esta linguagem permite que os desenvolvedores combinem a simplicidade das consultas SQL com o poder das estruturas de programação tradicionais, como loops, condições e variáveis.
Ao longo desta aula, abordaremos os primeiros passos para trabalhar com PL/SQL, desde a criação de blocos simples até o entendimento de suas principais características.
Estrutura Básica de um Bloco PL/SQL
O código em PL/SQL é organizado em blocos. Cada bloco pode conter três seções principais:
- Declaração: Onde as variáveis e constantes são declaradas.
- Execução: Onde as operações lógicas e manipulações de dados são realizadas.
- Tratamento de Exceções: Onde as exceções (erros) são tratadas.
Exemplo de Bloco PL/SQL Simples
plsqlDECLARE v_nome VARCHAR2(50); BEGIN v_nome := 'João'; DBMS_OUTPUT.PUT_LINE('Olá, ' || v_nome || '!'); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Ocorreu um erro.'); END;
Neste exemplo:
- DECLARAÇÃO: A variável
v_nomeé declarada. - EXECUÇÃO: A variável
v_nomerecebe o valor 'João', e a funçãoDBMS_OUTPUT.PUT_LINEexibe uma mensagem na tela. - EXCEÇÃO: Caso ocorra algum erro, uma mensagem de erro é exibida.
Variáveis e Tipos de Dados
As variáveis em PL/SQL são declaradas na seção de declaração do bloco. O PL/SQL suporta uma variedade de tipos de dados, incluindo NUMBER, VARCHAR2, DATE, entre outros.
Exemplo de Declaração de Variáveis
plsqlDECLARE v_idade NUMBER := 30; v_nome VARCHAR2(50) := 'Maria'; v_data_nascimento DATE := TO_DATE('1993-08-10', 'YYYY-MM-DD'); BEGIN DBMS_OUTPUT.PUT_LINE('Nome: ' || v_nome); DBMS_OUTPUT.PUT_LINE('Idade: ' || v_idade); DBMS_OUTPUT.PUT_LINE('Data de Nascimento: ' || v_data_nascimento); END;
Neste exemplo, três variáveis são declaradas e inicializadas com valores diferentes.
Controle de Fluxo
O PL/SQL permite o uso de estruturas de controle de fluxo, como IF-THEN-ELSE e LOOP, para controlar o comportamento do programa.
Estrutura Condicional
plsqlDECLARE v_idade NUMBER := 25; BEGIN IF v_idade >= 18 THEN DBMS_OUTPUT.PUT_LINE('Maior de idade'); ELSE DBMS_OUTPUT.PUT_LINE('Menor de idade'); END IF; END;
Estrutura de Loop
plsqlDECLARE v_contador NUMBER := 1; BEGIN WHILE v_contador <= 5 LOOP DBMS_OUTPUT.PUT_LINE('Contagem: ' || v_contador); v_contador := v_contador + 1; END LOOP; END;
Tratamento de Exceções
O tratamento de exceções em PL/SQL é fundamental para garantir que o código lide corretamente com erros inesperados. A seção de exceções permite que o programador capture e responda a esses erros de maneira controlada.
Exemplo de Tratamento de Exceção
plsqlDECLARE v_numero NUMBER; BEGIN v_numero := 10 / 0; -- Isso causará um erro de divisão por zero EXCEPTION WHEN ZERO_DIVIDE THEN DBMS_OUTPUT.PUT_LINE('Erro: Divisão por zero não permitida.'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Ocorreu um erro inesperado.'); END;
Neste exemplo, a exceção ZERO_DIVIDE é capturada e tratada, evitando que o programa termine de forma abrupta.
Conclusão
O PL/SQL é uma poderosa ferramenta para quem trabalha com bancos de dados Oracle, permitindo não apenas a manipulação de dados, mas também o controle sobre o fluxo de operações e o tratamento de exceções. Com uma estrutura clara e um conjunto rico de funcionalidades, o PL/SQL oferece aos desenvolvedores a capacidade de criar aplicativos robustos e eficientes.
Nas próximas aulas, exploraremos mais a fundo as capacidades do PL/SQL, incluindo a criação de funções, procedimentos e triggers, ampliando ainda mais o leque de possibilidades desta linguagem.