Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIDADE 2 - PROGRAMANDO EM BD
TÓPICO 2 – PL/SQL
PROGRAMAÇÃO DE BANCO DE DADOS
PL/SQL
O que é SQL?
PROGRAMAÇÃO DE BANCO DE DADOS
PL/SQL
Ao desenvolver módulos que sejam executados diretamente no
servidor, diminui-se o tráfego de informações na rede, esconde-se boa
parte das estruturas das tabelas e agiliza-se o processamento e retorno
das mensagens. Internamente, o Banco de Dados possui mecanismos
integrados que permitem unir as estruturas tradicionais de programação
com os comandos SQL.
PROGRAMAÇÃO DE BANCO DE DADOS
• Linguagens de Consulta:
• SQL (Structured Query Language): É a linguagem padrão para
interação com bancos de dados relacionais. SQL permite a execução
de operações como SELECT, INSERT, UPDATE e DELETE para recuperar,
adicionar, modificar e excluir dados em tabelas.
PROGRAMAÇÃO DE BANCO DE DADOS
• Triggers (Gatilhos):
• PL/SQL (Oracle): PL/SQL é comumente utilizado para escrever triggers
que são acionados automaticamente em resposta a eventos
específicos no banco de dados.
SQL | PL/SQL
Qual a diferença?
TÓPICO 2
PL/SQL
SQL | PL/SQL
TÓPICO 2
SQL é uma linguagem declarativa, o que significa que você especifica o
que deseja obter, mas não como alcançar isso. Você descreve a lógica do
PL/SQL que você quer, e o sistema de gerenciamento de banco de dados (SGBD)
decide como executar a consulta.
Sql:
• Manipulação de Dados: SQL é principalmente usado para manipular
TÓPICO 2 dados em bancos de dados relacionais. Inclui comandos como SELECT
(consulta), INSERT (inserção), UPDATE (atualização), DELETE (exclusão)
PL/SQL e outros.
• Operações em Conjuntos: SQL é projetada para realizar operações em
conjuntos de dados. As consultas SQL geralmente envolvem seleção,
projeção, junção e outras operações em conjuntos de registros.
Pl/sql:
Lógica de Negócios e Controle de Fluxo: PL/SQL é usado para
implementar lógica de negócios, procedimentos armazenados, funções
e gatilhos diretamente no banco de dados. Ele inclui estruturas de
controle de fluxo, loops, variáveis, manipulação de exceções, entre
outros elementos comuns em linguagens de programação procedurais.
CONCEITOS BÁSICOS
TÓPICO 2
PL/SQL
Regras Gerais:
PL/SQL
Regras Gerais:
PL/SQL
PLSQL – para que serve ?
PL/SQL
• Procedimentos e Funções Armazenados:
• Permite a criação de procedimentos armazenados (stored
procedures) e funções armazenadas. Esses são blocos de código
reutilizáveis que podem ser chamados por aplicativos, outras
stored procedures ou funções.
• Triggers (Gatilhos):
• Permite a criação de gatilhos (triggers) que são automaticamente
acionados em resposta a eventos específicos no banco de dados,
como inserções, atualizações ou exclusões de dados.
PLSQL – para que serve ?
• Controle de Transações:
TÓPICO 2 • Oferece suporte ao controle de transações usando as instruções
COMMIT e ROLLBACK, garantindo a consistência e a integridade
dos dados.
PL/SQL
• Manipulação de Exceções:
• Fornece uma estrutura robusta para tratamento de exceções e
erros durante a execução do código. Isso é importante para lidar
com situações inesperadas e garantir a robustez do código.
• Manipulação de Dados:
TÓPICO 2 • Facilita a manipulação de dados usando instruções SQL
incorporadas em blocos de código PL/SQL. Isso inclui operações
como SELECT, INSERT, UPDATE e DELETE.
PL/SQL
• Integração com Linguagens de Programação:
• Pode ser integrado com linguagens de programação como Java,
C#, Python, entre outras. Isso permite o desenvolvimento de
aplicativos que combinam a lógica de negócios em PL/SQL com a
interface do usuário em outras linguagens.
• Segurança e Controle de Acesso:
• Ajuda na implementação de regras de segurança e controle de
acesso aos dados no banco de dados.
• Otimização de Desempenho:
• Oferece recursos para otimizar o desempenho das consultas e
operações no banco de dados, como o uso eficiente de índices e
planos de execução.
PLSQL
• Cada Banco de Dados é único sob este aspecto, mas todos trabalham
sobre os mesmos conceitos. É possível criar módulos programáveis,
como funções, procedimentos, objetos, pacotes, gatilhos etc. Em
todos os casos, há um engine responsável pela integração e execução
dos módulos no servidor de Banco de Dados.
VANTAGENS DO PL/SQL
TÓPICO 2
PL/SQL
ESTRUTURA DE UM BLOCO PL/SQL
PL/SQL Exceções são todos os erros e imprevistos que podem ocorrer durante a
execução de um bloco PL/SQL. Quando o erro ou imprevisto ocorre, o
PL/SQL abandona a área de comandos e procura na área de exceções o
tratamento para a falha ocorrida.
TÓPICO 2
PL/SQL
VARIÁVEIS
Ex.: A:=2;
B:=to_number(C);
VARIÁVEIS
TÓPICO 2 Pode-se também utilizar comando SQL para atribuir valores a variáveis.
Em PL/SQL, todo o comando SELECT pede a cláusula INTO para associar
PL/SQL valores de colunas da base Oracle a variáveis PL/SQL.
Sintaxe:
SELECT colunas
INTO variáveis
FROM tabelas
WHERE condições
etc.
OBS.: Para cada coluna selecionada deve existir uma variável associada.
A coluna e a variável devem ser de tipos compatíveis.
VARIÁVEIS
A cláusula INTO é frequentemente utilizada em linguagens de
programação procedural, como PL/SQL, para recuperar valores
resultantes de uma consulta ou operação de atribuição e armazená-los
TÓPICO 2 em variáveis.
Recuperação de Dados em PL/SQL:
PL/SQL Em PL/SQL, ao executar uma consulta que retorna um único valor ou
uma única linha, você pode usar a cláusula INTO para atribuir esse valor
a uma variável. Aqui está um exemplo:
VARIÁVEIS
TÓPICO 2
PL/SQL
LOOP
TÓPICO 2 O comando LOOP é utilizado para executar uma relação de comandos
até que a condição definida na saída se torne verdadeira.
PL/SQL Sintaxe:
LOOP
Relação_de_Comandos
END LOOP;
Para interromper a execução de um loop, utiliza-se o comando EXIT.
Este comando desvia o fluxo do programa para a primeira instrução
após o próximo END LOOP. Um comando EXIT não pode ser utilizado
fora de loops.
Sintaxe:
EXIT [WHEN <condição>];
CURSORES
CURSORES EXPLÍCITOS
São cursores utilizados para a manipulação de buscas que retornam
mais de uma linha de resultado. Estes cursores devem ser declarados na
seção DECLARE.
CURSORES
Sintaxe:
TÓPICO 2
CURSOR <nome cursor> IS
PL/SQL <comando SELECT qualquer>
Antes de manipular um cursor, ele deve ser aberto através do comando
OPEN.
Sintaxe:
Sintaxe:
RAISE <nome da exceção>
No caso de exceções definidas pelo usuário, a exceção deve ser uma
variável declarada na seção DECLARE, como sendo do tipo EXCEPTION.
Caso seja um erro do tipo ORA, pode ser associado ao erro Oracle
através da declaração PRAGMA EXCEPTION_INIT.
TRATAMENTO DE EXCEÇÕES
TÓPICO 2
PL/SQL
TRATAMENTO DE EXCEÇÕES
PL/SQL Sintaxe:
RAISE_APPLICATION_ERROR(código_do_erro, mensagem);
TÓPICO 2
PL/SQL
EXEMPLO COM VARIÁVEL
Crie um programa em PL/SQL que utiliza uma variável para realizar uma
TÓPICO 2 pergunta ao usuário e, com base na resposta, fornece uma resposta
personalizada. Neste caso, vamos solicitar ao usuário que insira um número e,
em seguida, verificar se o número é par ou ímpar.
PL/SQL
TÓPICO 2
PL/SQL
EXEMPLO COM VARIÁVEL
PL/SQL
PL/SQL
EXEMPLO COM CONTROLE ITERATIVO
PL/SQL
• Utilizamos uma variável v_numero para armazenar o valor durante
cada iteração do loop.
DECLARE
v_numero INT;
BEGIN
-- Solicitar ao usuário que insira um número
DBMS_OUTPUT.PUT('Insira um número: ');
TÓPICO 2
PL/SQL
EXEMPLO COM CURSORES
• Geração de Relatórios:
TÓPICO 2 • Para a geração de relatórios personalizados, o PL/SQL pode ser
incorporado em consultas SQL mais avançadas para processar
dados antes de serem apresentados ao usuário. Isso permite a
PL/SQL
criação de relatórios que vão além das capacidades das consultas
SQL padrão.
TÓPICO 2
PL/SQL