plsql oracle
-
Upload
pablo-garcia -
Category
Documents
-
view
817 -
download
4
Transcript of plsql oracle
PL/SQLOracle
PL/SQL
PL/SQL significa "Procedural Language extensions to SQL“
PL/SQL é uma extensão da linguagem procedural do SQL
É uma combinação de SQL, juntamente com as características das linguagens de programação procedurais.
PL/SQL
Foi desenvolvido pela Oracle Corporation no início dos anos 90 para melhorar as capacidades do SQL.
O PL/SQL pode ser usado em bancos de dados Oracle, no Oracle Server, em ferramentas clientes, isto é, Oracle Forms.
A história do PL/SQL
Antes de 1991 a única forma de usar construções procedureis com o SQL era usar PRO*C. Foi onde as instruções SQL do Oracle foram embutidas em código C. O código C era pré-compilado para converter as instruções SQL em chamadas de bibliotecas.
A história do PL/SQL
Em 1991 o PL/SQL 1.0 foi lançado com o Oracle Versão 6.0. Ele era muito limitado nas suas capacidades.
O PL/SQL Versão 2.0 foi lançado com o Oracle Versão 7.0. Esta era uma atualização maior. Ele suportava stored packages, procedures, funções, tabelas PL/SQL, registros definidos pelo programador e package extensions.
A história do PL/SQL
O PL/SQL Versão 2.1 foi liberado com a Versão 7.1 do Oracle. Isto permitiu o uso de stored functions dentro de instruções SQL e a criação de SQL dinâmico pelo uso do pacote DBMS_SQL. Foi também possível executar instruções de Linguagens de Definição de Dados de programas PL/SQL.
A história do PL/SQL
A Versão 2.2 PL/SQL foi lançada com a Versão 7.2 do Oracle. Ele implementava um envólucro para programas PL/SQL para proteger o código de olhares curiosos. Também foi possível agendar trabalhos do banco de dados com o pacote DBMS_JOB.
A história do PL/SQL
A Versão 2.3 do PL/SQL foi lançado com a Versão 7.3 do Oracle. Esta versão aumentou as capacidades das tabelas PL/SQL e adicionou funcionalidades de E/S de arquivos.
A história do PL/SQL
A Versão 2.4 do PL/SQL foi liberada com a Versão 8.0 do Oracle. Esta versão suporta os melhoramentos do Oracle 8, incluindo Large Objects, projeto orientado a objetos, tabelas aninhadas e Oracle advanced queuing.
O Mecanismo de PL/SQL Oracle usa um engine de PL/SQL para
processar as instruções PL/SQL. Um código de PL/SQL pode ser armazenado no sistema do cliente (client-side) ou no banco de dados (server-side).
O Mecanismo de PL/SQL O conjunto de caracteres do PL/SQL
Programas PL/SQL consistem dos seguintes caracteres, as letras A- Z, a- z, os números 0 - 9, os símbolos ~!@#$%&*()[]{};:'"<>,.?/.
O PL/SQL é caso insensitivo, letras maiúsculas e letras minúsculas são equivalentes.
Um bloco PL/SQL Simples Cada programa PL/SQL consiste em
instruções SQL e PL/SQL, a partir de um bloco PL/SQL.
Um bloco PL/SQL consiste em três seções:
A seção de Declaração (opcional). A seção de Execução (obrigatório). A exceção (ou erro) seção de Handling
(opcional).
Seção declaração
A seção Declaração de um Bloco PL/SQL começa com a palavra-chave reservada DECLARE.
Esta seção é opcional e é usada para declarar os espaços reservados como variáveis, constantes, registros e cursores, que são usadas para manipular dados na seção de execução.
Seção declaração
Podem ser quaisquer variáveis, constantes e registros, que armazenam dados temporariamente. Cursores são também são declarados nesta seção.
Seção de Execução
A seção de execução de um bloco PL/SQL começa com a palavra-chave reservada BEGIN e termina com END.
Esta é uma seção obrigatória e é a seção onde a lógica do programa é escrita para realizar qualquer tarefa.
As construções de programação como loops, instrução condicional e instruções SQL formam a parte da seção de execução.
Seção exceção
A seção de exceção de um Bloco PL/SQL começa com a palavra-chave reservada EXCEPTION.
Esta seção é opcional e qualquer erro no programa pode ser tratado nesta seção, de modo que os blocos PL/SQL terminam com sucesso.
Seção exceção
Se o bloco PL/SQL contém exceções que não podem ser tratadas, o bloco termina abruptamente com erros.
PL/SQL
Cada declaração deve terminar com um ponto e vírgula ;
Blocos PL/SQL podem ser aninhados dentro de outros blocos PL/SQL. Os comentários podem ser usadas para documentar código.
PL/SQL
PL/SQL é a forma mais rápida de processar dados em Bancos de Dados Oracle. Entenda “processar dados” como não apenas submeter instruções SQL (UPDATE, SELECT, INSERT e DELETE) para o banco, mas sim, efetuar transações que consistem de várias estruturas de decisão, loops e outros tipos de processamento.
Comentando o nosso código Todo bom código PL/SQL merece ser
comentado. Temos duas maneiras de comentar
código. Podemos usar o duplo '-' para comentar uma única linha de código. Tudo depois de -- é ignorado até o fim da linha.
Comentando o nosso código Por exemplo:
-- Função que calcula comissão de vendas IF sales > 0 THEN commission := sales * 0.1; END IF;
Podemos também colocar nosso comentário em uma linha que contém código a ser executado.
Por exemplo:
IF sales > 0 THEN commission := sales * 0.1; -- A % da comissão é de 10 porcento.
END IF;
Comentando o nosso código Agora quando queremos comentar múltiplas linhas
dentro do PL/SQL podemos usar os seguintes caracteres /* */. Tudo entre esses caracteres é ignorado e tratado como um comentário.
Por exemplo:
PROCEDURE update_balance (cust_id IN NUMBER) IS /* Procedure: update_balance Autor: José Silva Descrição: Procedure de Teste */
Palavras reservadas
O PL/SQL possui palavras reservadas, não é uma boa idéia tentar usar uma palavra reservada como uma variável em seu código.
Aqui estão algumas das palavras reservadas em PL/SQL mas não é a lista definitiva, verifique sua documentação atual para a lista completa.
Palavras reservadas
BEGIN END IF ELSE END IF WHILE LOOP OPEN, CLOSE, FETCH
Formatando o PL/SQL
Existe apenas um objetivo do layout eficaz de seu código PL/SQL e é 'Revelar e reforçar a estrutura lógica do programa'. PL/SQL beneficia-se por ser uma linguagem bem estruturada, cada bloco de código tem um começo e um fim bem definidos.
Formatando o PL/SQL
Por exemplo: IF - END IF LOOP - END LOOP DO - WHILE
Criando uma estrutura lógica Criar nossa estrutura lógica no PL/SQL
é bastante simples, fazemos isso usando endentação eficaz do nosso código. Aqui está um pedaço de código não-endentado.
Criando uma estrutura lógica IF sal > 20000 THEN comm := sal * 0.1; ELSIF sal > 10000 and sal <20000
THEN comm := sal * 0.06; ELSE comm := 0; END IF;
Criando uma estrutura lógica No trecho de código anterior é difícil
determinar quais instruções vão em dada instrução IF. Se endentarmos cada bloco lógico do código com dois espaços (algumas pessoas preferem três) o código torna-se mais legível e compreensível.
Exemplo de um bloco PL/SQL
Examinando alguns exemplos Criando código PL/SQL O Código abaixo mostra como criar o
codigo PL/SQL.
( PenDrive )
Examinando alguns exemplos Criando um procedimento O código abaixo mostra como criar um
procedimento.
(PenDrive)
Examinando alguns exemplos Criando uma função O código abaixo mostra como criar uma
função.
(PenDrive)
Examinando alguns exemplos Executando a função get _cust_
name a partir da SQL O código abaixo mostra como executar
a função GET_CUST_NAME.
(PenDrive)
Examinando alguns exemplos Criando um pacote O código abaixo mostra como criar um
pacote.
(PenDrive)
Examinando alguns exemplos Usando PL/SQL em um gatilho de
banco de dados O código abaixo mostra como usar a
PL/SQL em um gatilho de banco de dados.
(PenDrive)