funções no postgree
01/11/2012
0
Alan Mario
Posts
01/11/2012
Bruno Leandro
ex
select MinhaFuncao_ParcelasPendentes(1)
resultado: 12
01/11/2012
Lucas Araujo
02/11/2012
Tiago
02/11/2012
Alan Mario
05/11/2012
Lucas Araujo
script de criação da tabela:
create table cliente(
id_cliente serial,
nome_cliente varchar(40));
script de criação da função:
create or replace function novoCliente(_nome varchar(40))returns void as
$$
BEGIN
perform * from cliente where nome_cliente = _nome;
if not found then
insert into cliente values (default, _nome);
RAISE NOTICE 'CLIENTE CADASTRADO COM SUCESSO';
else
RAISE NOTICE 'CLIENTE JÁ CADASTRADO';
END
$$
language plpgsql
essa é uma função simples que não retorna nenhum valor, por isso o returns void.
em funções em vez de usarmos select * from... usamos perform, pois para usarmos um select precisamos jogar o resultado do select para alguma variável e como esse exemplo é só pra fazer uma verificação não precisamos guardar o resultado do select.
A logica é simples: se não achar algum resultado para o select com o valor passado por parâmetro então ele é inserido na tabela, se achar aparece uma mensagem a nível de banco(ela não aparece em uma aplicação) informando que esse cliente ja foi cadastrado.
como vc ja deve ter percebido RAISE NOTICE serve para passar uma mensagem a nível de banco.
para chamar essa função vc deve usar o comando select mais o nome da função e parâmetro.
Ex:
select novoCliente('Joao')
como eu falei esse é um exemplo básico e apenas para demostração.
Clique aqui para fazer login e interagir na Comunidade :)