[firebase-br] Stored procedures
Carlos Antônio Ferreira da Silva
carlosmuzambinho em yahoo.com.br
Seg Abr 10 10:02:55 -03 2006
Você não colocou o comando "Suspend" no final da SP,
porque sempre que sua SP retornar algo, ele é OBRIGATÓRIO...
T+
Carlos A.F.S.
-----Mensagem Original-----
De: "Edson Marco Ferrari Junior" <edmafer em gmail.com>
Para: "FireBase" <lista em firebase.com.br>
Enviada em: sexta-feira, 7 de abril de 2006 10:35
Assunto: [firebase-br] Stored procedures
Estou tentando criar algumas procedures que primeiro verifique se
existo o registro na tabela, e se existir ela me retorna o id, caso
contrário, ela faz a inserção, e me retorna o id.
O problema, é que ela fazendo ou não a inserção (a inserção funciona)
ela sempre me retorna "null".
A procedure:
create procedure sp_save_cliente(va_cli_nome varchar(25))
returns(
vcli_id integer
)
as
begin
/*
* Preciso do id do cliente, caso ele não
* esteja cadastrado, vou cadastrá-lo.
*/
vcli_id = null;
select cli_id
from cliente
where cli_nome = :va_cli_nome
into
:vcli_id;
if (vcli_id is null) then
begin
insert into cliente
values
(
0,
0,
:va_cli_nome
);
select max(cli_id)
from cliente
into
:vcli_id;
end
end;
E a chamo da seguinte forma:
select vcli_id from sp_save_cliente ('NOME DO CLIENTE');
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista