ATPS JAVA
Artigos Científicos: ATPS JAVA. Pesquise 862.000+ trabalhos acadêmicosPor: R3vD0x • 4/11/2014 • 629 Palavras (3 Páginas) • 386 Visualizações
PROGRAMAÇÃO EM BANCO DADOS
Stored Procedure e Trigger
A
tecnologia de banco de dados permite persistir dados de forma a compartilha-los com
varias aplicações.
Aplicação 1 aplicação 2 aplicação 3
SGDB
Por meio dos SGBD - Sistema Gerenciador de Banco de Dados - é possível gerenciar o
acesso a dados em um BD.
A SQL - linguagem de consulta estruturada - , é uma linguagem padrão ANSI para
manipular dados por meio de um sistema gerenciador de banco de dados.
A SQL pode ser dividida em 3 sub-linguagens:
DDL - linguagem de definição de dados
DCL - linguagem de controle de dados
DML - linguagem de manipulação de dados
Os SGDB ‘devem’ disponibilizar recursos para manipulação de dados por meio de PL
(linguagens procedimentais), já que a SQL é uma linguagem não procedimental.
Por exemplo:
Linguagem procedimental
linguagem não procedimenta
----------------------------------------------------------------------------------------
Readln(y);
select x,y
Y= x*x;
f
rom raízes
Println(x);
where y = x*x
Println(y);
----------------------------------------------------------------------------------------
Nota de Aula
Prof. Sidney Vieira
1
Banco de
Dados
A programação em PL é feita por meio de function(função), Store Procedure
(procedimentos armazenada) e Trigger (gatilho). Cada SGDB tem sua maneira própria para
tratar esses elementos de programação.
As sintaxes apresentadas a seguir referem-se ao ambiente Postgresql.
Stored Procedure
O postgresql emprega o conceito de function para definir stored procedure
( procedimentos armazenados)
Sintaxe básica:
Definição da função:
------------------------------------------------------------------------------------------------------------------
Create function nome_da_função (tipo_dado_variavel1, tipo_dado_variavel2, ...
tipo_dado_variavelN)
Return tipo AS
'<corpo da função>'
LANGUAGE `nome da linguagem usada no corpo`
--------------------------------------------------------------------------------------------------------------
Dentre as linguagens possíveis para o postgresql temos:
SQL
PLPGSQL
C
PERL
TEL
PYTHONU
uso da função:
---------------------------------------------------------------------------------------------------------------------------------
nome_da_função(valor_para_variavel1,valor_para_variavel1, ..., valor_para_variavelN)
---------------------------------------------------------------------------------------------------------------------------------
A aspa no nome da linguagem pode ser opcional, depende da versão do Postgresql (no
8.3 ela já é opcional)
Quando definimos que a linguagem de uma função e sql, LANGUAGE SQL, só podemso
empregar comandos da sql em seu corpo.
Nota de Aula
Prof. Sidney Vieira
2
A definição do corpo da função depende da linguagem para plpgsql, devendo ser
delimitada por aspas simples ' ou cifrão duplo $$. Obedece a seguinte sintaxe:
Uso de ' para delimitar o corpo da função
Uso de '$$ para delimitar o corpo da função
'declare
variavel1 tipo_da_varialvel1,
variavel2 tipo_da_variavel2,
...
BEGIN
INSTRUÇÃO 1
INSTRUÇÃO 2
RETURN VALOR RETORNO
END;'
$$declare
variavel1 tipo_da_varialvel1,
variavel2 tipo_da_variavel2,
...
BEGIN
INSTRUÇÃO 1
INSTRUÇÃO 2
RETURN VALOR RETORNO
END;$$
Obs:
1 – a declaração de variáveis, por meio da palavra reservada
declare,
é
...