[firebase-br] Múltiplas citações à mesma CTE em um Execute Block

Tallys Ferrante tallysferrante em gmail.com
Segunda Maio 15 14:45:30 -03 2023


Boa tarde, estou refatorando alguns SQL's antigos e num determinado Execute
Block eu precisaria referenciar um mesmo CTE mais de uma vez.

O problema é que a segunda referência me retorna um erro de:






*Undefined name.Dynamic SQL Error.SQL error code = -204.Table
unknown.ITEM_VENDA.At line 24, column 21.*

O Código SQL é este(Alterei para fins do exemplo):


























*EXECUTE BLOCK(IP_DATA_INICIAL DATE = :IP_DATA_INICIAL,
IP_DATA_FINAL DATE = :IP_DATA_FINAL)ASDECLARE VARIABLE V_VALOR_TOTAL_VENDAS
NUMERIC(15,3);DECLARE VARIABLE V_QUANTIDADE_TOTAL_VENDAS
NUMERIC(15,3);BEGIN  WITH ITEM_VENDA AS (      SELECT V.ID_CLIENTE,
     IVP.VALOR_TOTAL,             IVP.VALOR_FRETE,
 IVP.QUANTIDADE        FROM ITEM_VENDA_PRODUTO IVP        JOIN VENDA V ON
(IVP.ID_VENDA = V.ID_VENDA)       WHERE V.DATA_FATURAMENTO BETWEEN
:IP_DATA_INICIAL AND :IP_DATA_FINAL  )  SELECT SUM(IV.VALOR_TOTAL +
IV.VALOR_FRETE) AS VALOR_CLIENTE,         SUM(IV.QUANTIDADE) AS
QUANTIDADE_CLIENTE    FROM ITEM_VENDA IV    INTO :V_VALOR_TOTAL_VENDAS,
:V_QUANTIDADE_TOTAL_VENDAS;  SELECT SUM(IV2.VALOR_TOTAL + IV2.VALOR_FRETE)
AS VALOR_CLIENTE,         SUM(IV2.QUANTIDADE) AS QUANTIDADE_CLIENTE    FROM
ITEM_VENDA IV2    INTO :V_VALOR_TOTAL_VENDAS,
:V_QUANTIDADE_TOTAL_VENDAS;END*

Este é o comportamento esperado ou estou fazendo alguma coisa errada?


Mais detalhes sobre a lista de discussão lista