Banco de Dados PL-SQL

Prof. André Yoshimi Kusumoto andre_unip@kusumoto.com.br

. André Y.andre_unip@kusumoto.com. SQL*PLUS Ferramenta Oracle que reconhece e executa padrões PL/SQL e SQL. PL/SQL Linguagem procedural que estende o SQL adicionando aplicações lógicas.Prof.br PL-SQL SQL Linguagem de comando utilizada para comunicação com o BD. Kusumoto .

com. André Y.br PL-SQL Interação SQL e SQL*Plus SQL*Plus Server Oracle . Kusumoto .Prof.andre_unip@kusumoto.

Kusumoto . André Y. constantes.com. cursores) Uso de controle de estruturas (condicionais. e unidades de código procedural Alguns Benefícios: Desenvolvimento modularizado Uso de blocos aninhados Declaração de identificadores (variáveis.andre_unip@kusumoto. Extensão da Structured Query Language (SQL) Permite manipular dados e comandos SQL dentro de blocos estruturados.br PL-SQL Linguagem de processamento de transações. loops) .Prof.

. André Y.Prof.br PL-SQL Melhorando Performance Grupo de comandos SQL dentro de um bloco reduz tráfego de rede SQL SQL SQL Aplicação Outros Aplicação SQL If .com. Kusumoto .. Then SQL Else SQL End if Oracle ..andre_unip@kusumoto.

Conjunto de caracteres (string) de tamanho variável.br PL-SQL Declarando uma variável var[iable] datatype DATATYPES PRINCIPAIS VARCHAR2(comprimento) .Representa um número com uma precisão de p e uma escala de e. BLOB .andre_unip@kusumoto.Um valor de data entre 1 de Janeiro de 4712 AC e 31 de Dezembro de 4712 DC.Prof. LONG .com. e) . André Y.Conjunto de caracteres de tamanho fixo. O comprimento máximo é de 255 bytes e o comprimento por omissão é de 1 byte. A precisão p pode variar entre 1 e 38 e a escala e entre –84 e 127. DATE . Kusumoto .Tipo de dados para conteúdos binários até 4 Gigabytes .Conjunto de caracteres de tamanho variável com até 2 gigabytes (231 -1 bytes). O comprimento varia entre um máximo de 2000 caracteres e um mínimo de 1. CHAR(comprimento) . NUMBER(p.

br PL-SQL Estrutura do Bloco DECLARE . . André Y.Mandatório .Controle PL/SQL EXCEPTION .Opcional . Kusumoto .Prof.com. constantes.Opcional Variáveis. cursores BEGIN .Ação a executar no caso de erro END.Estrutura SQL .Mandatório .andre_unip@kusumoto.

Prof. exceto que a primeira deve retornar um valor enquanto que procedures não. André Y.andre_unip@kusumoto. .com.br PL-SQL Construções Construção Blocos Anônimos Stored | Application Procedure ou Função Triggers de Banco Triggers de Aplicação Descrição Bloco PL/SQL embutido em alguma aplicação Bloco PL/SQL nomeado que aceita parâmetros e pode receber várias chamadas de execução Bloco PL/SQL associado a tabelas do Banco de Dados e que disparam automaticamente Bloco PL/SQL associado a algum evento da aplicação Nota: Uma função é semelhante a uma procedure. Kusumoto .

Prof.parâmetros formais Sintaxe de parâmetros parâmetros [IN | OUT | IN OUT] datatype .andre_unip@kusumoto.. André Y.br PL-SQL Criando uma Procedure Sintaxe: PROCEDURE nome [(parâmetros. --..com.)] IS <bloco pl/sql> END nome.. Kusumoto .

br PL-SQL Criando uma Procedure Parâmetro Descrição IN OUT IN OUT Argumento padrão Passa um valor de ambiente de chamada para dentro da Procedure Deve ser especificado Retorna um valor de dentro da procedure para o ambiente de chamada Deve ser especificado Passa um valor de ambiente de chamada para dentro da Procedure e retorna um valor de dentro da procedure para o ambiente de chamada .Prof.com. Kusumoto .andre_unip@kusumoto. André Y.

commit.andre_unip@kusumoto. André Y. end. v_novo_sal in number) is begin update empregados set salario= v_novo_sal where cpf = v_cpf. Kusumoto .com.br PL-SQL Criando uma Procedure Crie uma procedure para atualizar o salário de um empregado a ser especificado pelo usuário: CREATE OR REPLACE PROCEDURE muda_salario (v_cpf in number. / .Prof.

br PL-SQL Criando uma Função Sintaxe: FUNCTION nome [(parâmetro. Kusumoto .com. END nome. . André Y.)] RETURN datatype IS <bloco pl/sql>..andre_unip@kusumoto.Prof...

Prof. Kusumoto .com. .7). End.andre_unip@kusumoto. André Y.br PL-SQL Criando uma Função Exemplo function taxa (v_valor in number) return number is begin return (v_valor * .

br PL-SQL Prática Crie a seguinte tabela Funcionario: CodFuncionario Nome Salario Long Varchar2(80) Number(10.com.andre_unip@kusumoto. Kusumoto .Prof. . André Y. Criar uma função para calcular a área de uma circunferência (π.2) Desenvolva uma procedure que aumente os salários de todos os funcionários em 10%.r²).

Kusumoto . as “Empregados” . Exemplo: > Select prenome || sobrenome from empregados.andre_unip@kusumoto.Prof.br Operador de Concatenação Representado por duas barras verticais( || ) Junta colunas ou strings com outras colunas.com. André Y.

Carlos Alberto. Gustavo Henrique dos Santos • Silveira. Sistema de Banco de Dados – São Paulo: MAKRON Books. Henry e SUDARSHAN. Universidade Paulista. Kusumoto .Projeto e Implementação. . • SILBERSCHATZ.Prof. Abraham. José Marcos Barbosa da. 4ª Edição. 2001. Banco de Dados . KORTH. • Notas de aula do Prof. Felipe Nery Rodrigues.andre_unip@kusumoto. Projeto de Banco de Dados – Editora Sagra Luzzatto. 1999.com.br Bibliografia • Machado. 2004. André Y. 1ª Edição. Érica. • HEUSER. 2008. S.