plsql oracle

Post on 25-May-2015

769 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

top related