[firebase-br] Store Procedure

Társis Francke Ferreira tarsis em mithrandir.com.br
Qui Fev 26 18:59:26 -03 2009


Olá pessoal,

estou com uma dificuldade. Quando eu rodo o script de criação da minha SP no 
IBExpert, dá tudo certo, mas, quando vou vou rodá-lo na minha aplicação, com 
o IB_Cursor, por exemplo, ele dá um erro de coluna :0 não suportada e não 
roda.
Vou mandar a minha SP aqui abaixo. Ela vai servir como uma View, mas não 
pude criar uma View, porque o Firebird 1.5 não suporta o comando FIRST em 
views. Poderiam me dar uma luz?

Abração!

CREATE PROCEDURE PROC_PRODMAISVENDIDOS
RETURNS (CdProd VARCHAR(15)
       , TipoProd INTEGER
       , NmProd VARCHAR(75)
       , CdGrupo INTEGER
       , NmGrupo VARCHAR(50)
       , EstProd FLOAT
       , QtdItens FLOAT
       , VlrTotal NUMERIC(18,2))
AS
BEGIN
FOR SELECT FIRST 100
  A.CdProd
, A.TipoProd
, C.NmProd
, C.CdGrupo
, E.NmGrupo
, C.EstProd
, SUM(A.QtdProd)
, SUM(A.QtdProd * VlrUnit)
FROM ItemNF A
INNER JOIN NotasFiscais B ON (B.NLancamentoNF = A.ID_NF)
INNER JOIN Produtos C ON (C.CdProd = A.CdProd AND C.TipoProd = A.TipoProd)
INNER JOIN Historicos D ON (D.CdHist = B.CdHist)
INNER JOIN Grupos E ON (E.CdGrupo = C.CdGrupo)
WHERE D.GeraFinanc = '1'
AND B.CanceladaNF = '0'
GROUP BY A.CdProd, A.TipoProd, C.NmProd, C.CdGrupo, E.NmGrupo, C.EstProd
INTO :CdProd
, :TipoProd
, :NmProd
, :CdGrupo
, :NmGrupo
, :EstProd
, :QtdItens
, :VlrTotal
DO
SUSPEND;
END 





Mais detalhes sobre a lista de discussão lista