[firebase-br] O que há de errado nesta SP ????
Marcelo Silva
marcvan em ig.com.br
Qui Jul 26 10:13:35 -03 2007
Pessoal porque ele nao aceita o parametro MAX_NIV ???
CREATE PROCEDURE SP_ARVORE (
PAI INTEGER,
MAX_NIV INTEGER)
RETURNS (
COD_HER INTEGER,
COD_GRU INTEGER,
COD_PAI INTEGER)
AS
BEGIN
-- Retorna os dados do Pai, se não for o chamada principal
IF ((:PAI <> 0)AND(:MAX_NIV < 3)) THEN BEGIN
SELECT COD_GRU, COD_PAI, COD_HER
FROM CARD_GRUPOS
WHERE COD_GRU = :PAI
INTO :COD_GRU, :COD_PAI, :COD_HER ;
SUSPEND;
END
-- Procura por filhos desse pai.
FOR
SELECT COD_GRU, COD_PAI, COD_HER
FROM CARD_GRUPOS
WHERE COD_PAI = :PAI
INTO :COD_GRU, :COD_PAI, :COD_HER
DO
-- Se existir ele chama como recursivamente a SP para pegar o nome e verificar se tem netos.
FOR
SELECT COD_GRU, COD_PAI, COD_HER
FROM SP_ARVORE( :COD_GRU )
INTO :COD_GRU, :COD_PAI, :COD_HER
DO
SUSPEND;
END
Mais detalhes sobre a lista de discussão lista