SlideShare uma empresa Scribd logo
Oracle
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)

Mais conteúdo relacionado

PPTX
Treinamento Oracle Forms
PDF
PL/SQL - Conceitos Básicos
PPTX
Plsql - Conceitos Básicos
PDF
Intro xml file
PDF
Apostila de C# & Asp.Net
PDF
ODI SERIES - Melhores Práticas
PPTX
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Treinamento Oracle Forms
PL/SQL - Conceitos Básicos
Plsql - Conceitos Básicos
Intro xml file
Apostila de C# & Asp.Net
ODI SERIES - Melhores Práticas
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos

Mais procurados (9)

PPT
3º Fast Show - SQL Analytics
PDF
Aula 02 - Introdução ao PHP
PPTX
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
PDF
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
PDF
PHP - Introdução
PDF
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
PDF
Introdução a php
PDF
Shell Script
PPTX
Refatoracao de codigo
3º Fast Show - SQL Analytics
Aula 02 - Introdução ao PHP
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
PHP - Introdução
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
Introdução a php
Shell Script
Refatoracao de codigo
Anúncio

Semelhante a plsql oracle (20)

PPT
Apostila - PLSQL Structured Query Language
PDF
Apostila completa-oracle-programando-oracle
PDF
Apostila completa-oracle-programando-oracle
PDF
2832014 curso plsql
PDF
PDF
Introdução PLSQL
PDF
Apostila completa-oracle-programando-oracle-120511184307-phpapp01
DOC
[Oracle plsql] programando em oracle
PPTX
A Linguagem sql
PDF
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
PDF
Oracleplsql
PDF
Oracle 11g - Fundamentos
PPTX
SQL aula 1
PDF
Boa apostila sql
PPTX
asdfasdfasdfasdssdfsdfsdfsdfsdfsdfsdfsdfsdf
PPT
SQL1eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.ppt
ODP
Stored procedure
PPT
Fundamentos de SQL - Parte 1 de 8
PDF
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
Apostila - PLSQL Structured Query Language
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle
2832014 curso plsql
Introdução PLSQL
Apostila completa-oracle-programando-oracle-120511184307-phpapp01
[Oracle plsql] programando em oracle
A Linguagem sql
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
Oracleplsql
Oracle 11g - Fundamentos
SQL aula 1
Boa apostila sql
asdfasdfasdfasdssdfsdfsdfsdfsdfsdfsdfsdfsdf
SQL1eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.ppt
Stored procedure
Fundamentos de SQL - Parte 1 de 8
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
Anúncio

Mais de Pablo Garcia (7)

PPTX
Cursor
PPTX
Instalação
PPTX
dbms output oracle
PPT
Sub-Consultas Oracle
PPT
Funções Grupo Oracle
PPTX
SQL Oracle
PPTX
Intro Arquitetura Oracle
Cursor
Instalação
dbms output oracle
Sub-Consultas Oracle
Funções Grupo Oracle
SQL Oracle
Intro Arquitetura Oracle

plsql oracle

  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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).
  • 11. 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.
  • 12. 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).
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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.
  • 21. 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;
  • 22. 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 */
  • 23. 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.
  • 24. Palavras reservadas  BEGIN  END  IF  ELSE  END IF  WHILE  LOOP  OPEN, CLOSE, FETCH
  • 25. 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.
  • 26. Formatando o PL/SQL  Por exemplo:  IF - END IF  LOOP - END LOOP  DO - WHILE
  • 27. 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.
  • 28. 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;
  • 29. 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.
  • 30. Exemplo de um bloco PL/SQL
  • 31. Examinando alguns exemplos  Criando código PL/SQL  O Código abaixo mostra como criar o codigo PL/SQL.  ( PenDrive )
  • 32. Examinando alguns exemplos  Criando um procedimento  O código abaixo mostra como criar um procedimento.  (PenDrive)
  • 33. Examinando alguns exemplos  Criando uma função  O código abaixo mostra como criar uma função.  (PenDrive)
  • 34. 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)
  • 35. Examinando alguns exemplos  Criando um pacote  O código abaixo mostra como criar um pacote.  (PenDrive)
  • 36. 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)