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

RedDevil reddevil em reddevil.eti.br
Seg Nov 22 11:16:08 -03 2004


ola Jader.
tudo bem contigo?
sincerely, espero que sim.

mais uma coisa...
;o)

se voce quiser que retorne o CODIGO, use o teu primeiro exemplo, mas sem declarar o CODIGO como variavel... algo tipow assim:

CREATE PROCEDURE SP_CLIENTES_INSERIR (NOME VARCHAR(50))
RETURNS (CODIGO VARCHAR(10))
AS
BEGIN
  CODIGO = GEN_ID(GEN_CODCLIENTES,1);
  INSERT INTO CLIENTES (CODCLIENTES,NOMECLIENTES) VALUES (:CODIGO,:NOME);
  SUSPEND;
  EXIT; /* ate acho que este EXIT eh desnecessario ...;o) */
END


[]s
força sempre.
ate +++

Luiz "RedDevil" Stefanski
=======><=========
====> Delphi 4 <=====
====> powered <=====
======> by <=======
===> IBObjects <=====
=======><=========
more in:
http://www.RedDevil.eti.br (home)
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630 (instalaçao)
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165 ("tips")



----- Original Message ----- 
From: "jader ricardo" <jader_ricarddo em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Monday, November 22, 2004 10:33 AM
Subject: [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


Mais detalhes sobre a lista de discussão lista