antiblock
https://i.imgur.com/aJ17bf7.gif
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
Xandy

[Pl/sql] Procedural Language/structured Query Language

1 post in this topic

Boa tarde,
 
Visto que existe o conceito de "Base de Dados" em várias aplicações, decidi criar esta apresentação sobre Procedural Language / Structured Query Language (PL/SQL). Sendo que existem uma quantidade de informação relativamente grande, o tópico será organizado por tópicos.
 
 
 

PL/SQL

 

 

1º - Introdução

 

O PL/SQL é uma extensão da linguagem de pesquisa declarativa padrão para bases de dados, conhecida como Structured Query Language (SQL), para o SGBD Oracle da Oracle Corporation[1] . Esta extensão permite que a manipulação de dados seja incluída em unidades de programas.

 

---------------------------------

 

2º - Funcionamento

 

Blocos de PL/SQL são passados e processados por uma PL/SQL Engine que pode estar dentro de uma ferramenta Oracle ou do Server. A PL/SQL Engine filtra os comandos SQL e manda individualmente o comando SQL para o SQL Statement Executor no Oracle Server, que processa o PL/SQL com os dados retornados do Server.

 

---------------------------------

 

3º - Estrutura Básica

 

As unidades básicas (procedimentos, funções e blocos anônimos) que compõem um programa PL/SQL são blocos lógicos, que podem conter qualquer número de sub-blocos aninhados. Cada bloco lógico corresponde a um problema ou subproblema a ser resolvido. Assim, PL/SQL suporta a "abordagem dividir para conquistar" para a resolução de problemas chamado refinamento passo a passo. Um bloco (ou sub bloco) permite agrupar declarações logicamente relacionadas.

Resumindo, um bloco é a unidade básica em PL/SQL. Todos os programas em PL/SQL são compostos por blocos que podem estar localizados uns dentros dos outros. Geralmente, a função de um bloco é efectuar uma ação lógica do programa e tem a seguinte estrutura:

 

------------

DECLARE

(Seção para declaração de variáveis,tipos e subprogramas locais)

 

BEGIN

(Seção Executável, nesta seção ficam as instruções procedimentais e SQL. Esta é a única seção do bloco que é indispensável e obrigatória)

 

EXCEPTION

(Seção/Setor onde ficam as instruções de tratamento de erro)

 

END

------------

 

4º - Funções

 

Tal como em qualquer outra linguagem, é possível criar funções em Oracle.

 

A - Estrutura

 


CREATE [OR REPLACE] FUNCTION nome_função [ (parâmetro [,parâmetro]) ]

RETURN tipo_de_dados

IS | AS

BEGIN

EXCEPTION*

END [nome_função];

 

 

B - Explicação

 

Antes de mais, para criar uma função é necessário sinalizar que este bloco representa uma função, portanto é feito um CREATE da função (OR REPLACE serve para  caso de já existir essa função e a versão mais recente ser uma actualização da mesma) assim como a declaração do seu nome e os seus parâmetros de entrada;

No caso da função devolver algo, recorre-se ao RETURN seguido do tipo de dados de saída;

IS | AS é a secção onde são feitas as declarações;

BEGIN é a secção onde se encontra o código executável;

EXCEPTION é uma secção facultativa onde é feito o tratamento de erros;

END termina a função.

 

C - Exemplo Prático

 

Queremos devolver o primeiro nome do nome completo introduzido pelo utilizador.

 

CREATE or replace FUNCTION EX1(NOME VARCHAR2)RETURN VARCHAR2;
IS
S VARCHAR2(250);
BEGIN
S := SUBSTR(NOME, 1, INSTR(NOME, ' ')-1);
END;
/

 

1º - Criação da função EX1 que recebe como parâmetro de entrada um dado do tipo VARCHAR2 na variável NOME.

2º - É necessário guardar o resultado do corte da nossa string. É declarada a variável S do tipo VARCHAR2 com espaço para 250 caracteres.

3º - Para cortar a string introduzida pelo utilizador, recorre-se ao SUBSTR.

4º - Conclui-se a função

 

---------------------------------

 

5º - Links Úteis

 

Quem estiver interessado em expandir o seu conhecimento sobre o PL/SQL pode consultar a página sobre PL/SQL do site oficial da Oracle no seguinte link: http://www.oracle.com/technetwork/database/features/plsql/index.html

 

 

---------------------------------

 

6º - Ferramentas

 

SQL Developer

Virtual Box*

 

NOTA: O Virtual Box não é obrigatório, serve apenas para criar uma base de dados virtual. No link disponibilizado no tópico anterior, é possível encontrar como fazer a ligação SQL Developer - Base de Dados Virtual.

 

---------------------------------

 

7º - Recursos Bibliográficos

 

https://pt.wikipedia.org/wiki/PL/SQL- Para ajudar no tratamento da informação sobre o conceito PL/SQL.

 

 

 

Acabo aqui, sendo que considero esta a informação básica necessária para entender o conceito PL/SQL. Quem quiser aprofundar ou explorar novos conhecimentos, é possível encontrar muita informação no site oficial da Oracle Corporation (link disponibilizado no tópico #5) e também me disponibilizo a responder às vossas perguntas em caso de dúvidas. Também poderei abordar outros tópicos sobre esta extensão caso tal seja pedido.

 

 

 

 

 

Share this post


Link to post
Share on other sites
antiblock
Elveron

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this