TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

PL SQL Conceitos básicos

Tese: PL SQL Conceitos básicos. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  29/1/2014  •  Tese  •  8.349 Palavras (34 Páginas)  •  623 Visualizações

Página 1 de 34

I. Conceitos básicos

Introdução

Um número muito grande de operações pode ser executado sobre um banco de dados através de comandos SQL. Algumas dessas operações podem ser bastante complexas, envolvendo um grande número de tabelas e consultas, com aninhamento de comandos inclusive. Esses recursos da SQL não são suficientes, entretanto, para solucionar muitos problemas comerciais típicos, uma vez que a SQL não oferece recursos de programação estruturada, como loopings e desvios, por exemplo. Por esse motivo, os principais fornecedores de SGBDs criaram suas próprias extensões procedurais à SQL (como a PL/SQL no Oracle ou a Transact SQL no SQL Server), de maneira a prover recursos de programação em seus gerenciadores. Essas extensões são verdadeiras linguagens de programação embutidas no SGBD, porém são proprietárias, ou seja, variam de um produto para outro, apesar de implementarem alguns conceitos básicos comuns.

Assim, temos a implementação da SQL nos diversos gerenciadores de banco de dados ocorrendo basicamente em 3 níveis, conforme a figura a seguir:

Recursos SQL do SGBD

Extensões não Extensões

SQL padrão procedurais à procedurais à

SQL SQL

No primeiro nível, chamado de SQL padrão na figura, há uma uniformidade na sintaxe de certos recursos SQL, através de padronizações internacionais controladas por órgãos especiais como ANSI, ISO, X-Open, etc. Entram nesta categoria uma grande parte dos comandos DML SQL, de maneira que a sintaxe e o funcionamento de um SELECT por exemplo, tanto no Oracle como no SQL Server ou MS-Access são iguais para a maioria das consultas básicas.

Para prover capacidades mais amplas em seus produtos, os fornecedores muitas vezes acrescentam recursos adicionais ao mecanismo básico, como por exemplo funções de agregação extras (para cálculo de desvio padrão ou variância, por exemplo), manipulação de strings, tipos de dados, tamanho de registro, cláusulas extras em comandos, etc. Esses recursos variam muito de um SGBD para outro, o que significa que soluções que os utilizem podem não funcionar em outros ambientes de banco de dados e são representados na figura como Extensões não procedurais à SQL.

O terceiro nível, indicado como Extensões procedurais à SQL representa a linguagem de programação procedural suportada pelo SGBD, e constitui o tema desta apostila.

Com os recursos fornecidos pelas extensões procedurais dos gerenciadores de banco de dados é possível construir rotinas de diversos tipos que funcionam dentro do SGBD, implementando operações de lógica mais complexa e capacidades de processamento linha a linha. Neste material utilizaremos como referência o Oracle 7.3 Server e sua linguagem de programação, chamada PL/SQL (Procedural Language / SQL).

II PL/SQL _ Estrutura Básica

Como vimos, o PL/SQL é uma extensão da linguagem SQL, que permite a construção de blocos de comandos SQL para acesso e manipulação das bases de dados. Estes blocos podem estar estruturados de duas formas:

Dentro de um arquivo texto na forma de um bloco anônimo. Este tipo de bloco não é cadastrado no dicionário de dados e sua execução é determinada através da chamada ao arquivo no qual ele se encontra.

Declarado na forma de uma sub-rotina de banco de dados.

A programação através da linguagem procedural (PL/SQL) apresenta diversas vantagens destacando-se:

Permite a construção de módulos: A construção em blocos quebra a complexidade de problemas gerando um conjunto de módulos lógicos, facilitando o gerenciamento. É possível a construção de blocos aninhados.

Declaração de variáveis: Declara variáveis, constantes e exceções que podem ser usadas em declarações procedurais e SQL.

Fluxo de Controle: Permite a utilização de comandos de desvio condicionais e incondicionais e também loops para seqüência de declarações.

Tratamento de erros: Processa erros do servidor com rotinas de tratamento de exceções, declara condições de erro definidas pelo usuário e as processa pelas rotinas de tratamento de exceções.

Portabilidade: Pode ser usado em qualquer plataforma que acesse um banco de dados Oracle.

Peformance: Pode aumentar o desempenho de aplicações críticas por ser uma ferramenta integrada ao Oracle.

Estrutura de um bloco PL/SQL (anônimo)

DECLARE

BEGIN

EXCEPTION

END;

Declare: Área opcional, destinada a declaração de variáveis, constantes cursores e exceções.

Begin: Área destinada a seqüência de comandos a serem executados. Contém declarações SQL para manipular dados no banco de dados e declarações PL/SQL.

Exception: Área destinada ao tratamento de exceções, isto é erros e condições anormais que ocorrerem na seção de execução (begin).

Exemplo 1:

Declare

wcarga_horaria number(5);

Begin

select carga_horaria into wcarga_horaria

from curso

where cod_curso = 5;

if wcarga_horaria is null then

update curso

set carga_horaria = 72;

commit;

end if ;

exception

when no_data_found then

insert into tab_erro values ( ‘ valor não encontrado’);

end;

Observações:

...

Baixar como (para membros premium)  txt (64 Kb)  
Continuar por mais 33 páginas »
Disponível apenas no TrabalhosGratuitos.com