Re: RES: [firebase-br] Retorno em uma procedure de inserção

jader ricardo jader_ricarddo em yahoo.com.br
Seg Nov 22 11:06:46 -03 2004


Olá,
 
Existe dois tipos de procedures as procedures executáveis(que faz determinda ação no banco) e as de seleção(que retorna determinado parâmetro).
 
O que eu queria era executar uma procedure para inserir um cliente, dentro desta procedure tem uma generator sendo jogada em uma variável, eu queria inserir esta variável na tabela e ao mesmo tempo retornar este valor.
 
Exemplo:
 
O valor da generator é 10, gostaria de inserir 10 no campo código e a procedure me retornaria este valor 10.
 
Atenciosamente,
Jader Ricardo

Rubem Rocha <rrocha em fpf.br> wrote:
E o que vc quer que retorne, companheiro? Stored procedures não são funções para retornar valores! Seja mais claro!
[]s

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em nome de jader ricardo
Enviada em: segunda-feira, 22 de novembro de 2004 08:34
Para: lista em firebase.com.br
Assunto: [firebase-br] Retorno em uma procedure de inserção


Bom dia a todos !

Estou com um pequeno problema em uma procedure vejam os dados:

/* TABELA CLIENTES */
CREATE TABLE CLIENTES
(
CODCLIENTES VARCHAR(10) NOT NULL PRIMARY KEY,
NOMECLIENTES VARCHAR(50)
)

/* PROCEDURE */

SET TERM!!
CREATE PROCEDURE SP_CLIENTES_INSERIR (NOME VARCHAR(50))
RETURNS (CODIGO VARCHAR(10))
AS
DECLARE VARIABLE CODIGO VARCHAR(10);
BEGIN
CODIGO = GEN_ID(GEN_CODCLIENTES,1);
INSERT INTO CLIENTES (CODCLIENTES,NOMECLIENTES) VALUES (:CODIGO,:NOME);
EXIT;
END!! 


Aqui aparece o seguinte erro : "Dynamic SQL Error SQL error code = -901 variable CODIGO conflicts with parameter in same procedure" 

Então eu tentei :

/* PROCEDURE */
SET TERM!!
CREATE PROCEDURE SP_CLIENTES_INSERIR (NOME VARCHAR(50))
RETURNS (CODCLIENTES VARCHAR(10))
AS
DECLARE VARIABLE CODIGO VARCHAR(10);
BEGIN
CODIGO = GEN_ID(GEN_CODCLIENTES,1);
INSERT INTO CLIENTES (CODCLIENTES,NOMECLIENTES) VALUES (:CODIGO,:NOME);
EXIT;
END!! 

Aqui não é retornado nada ...

Gostaria se possível de uma ajuda de vcs, 
Desde já agradeço a atenção ....


---------------------------------
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! ______________________________________________
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

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.797 / Virus Database: 541 - Release Date: 15/11/2004


______________________________________________
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

		
---------------------------------
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!


Mais detalhes sobre a lista de discussão lista