[firebase-br] procedure simples dando dor de cabeça

Eliomar eliomar em promediconet.com.br
Ter Jan 18 11:03:10 -03 2005


1 - VC tem que criar seu campo de saida como 
numeric e não integer;

2 - No final depois do group by tem que colocar o into :pesototal;

copia o codigo abaixo e tenta rodar vamo ver se funciona como vc quer.

CREATE PROCEDURE NEW_PROCEDURE (
   CDPRODUTO INTEGER)
RETURNS (
   PESOTOTAL NUMERIC(18,3))
AS
begin
  SELECT A.CDCOMPONENTE,
         A.QUANTIDADE,
         B.PESO,
         SUM (A.quantidade * B.peso) as pesotot
    FROM COMPRODUTO as A
    left JOIN componente b ON (B.cdcomponente=A.cdcomponente)
   WHERE IDPRODUTO=:CDPRODUTO
   Group By A.CDCOMPONENTE,
            A.QUANTIDADE,
            B.PESO
     into :PESOTOTAL;
  suspend;
end

Agradecido.
Eliomar,
ICQ - 167715482
Soft-Data Softwares Administrativos
hptt://www.promediconet.com.br


------------- Segue mensagem original! -------------

De: Hernando <mecanvpcusto em mecan.com.br>
Data: Tue, 18 Jan 2005 08:54:58 -0200
Para: FireBase <lista em firebase.com.br>
Assunto: [firebase-br] procedure simples dando dor de	cabeça

bom dia a todos da lista!

estou tentando criar esta procedure simples, mas esta dando erro e não 
estou conseguindo identificar onde está o erro. se eu tirar o ponto e 
virgula da linha do select da erro na linha seguinte da variavel e se eu 
coloco  o ponto e virgula da erro na linha do select.    ibexpert/fb1.0

CREATE PROCEDURE NEW_PROCEDURE (
    CDPRODUTO INTEGER)
RETURNS (
    PESOTOTAL INTEGER)
AS
begin
SELECT A.CDCOMPONENTE, A.QUANTIDADE, B.PESO, SUM (A.quantidade * B.peso) 
as pesotot  FROM COMPRODUTO A left JOIN componente b ON 
(B.cdcomponente=A.cdcomponente) WHERE IDPRODUTO=
:CDPRODUTO Group By A.CDCOMPONENTE, A.QUANTIDADE, B.PESO;
:PESOTOTAL = PESOTOT;
suspend;
end


-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.6.13 - Release Date: 16/01/2005


______________________________________________
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