1
resposta

Como atribuir o resultado de uma query a uma variável declarada dentro de um for

Como atribuir o resultado de uma query a uma variável declarada dentro de um for Ex.:

DECLARE 
    CURSOR cur_ctrl_serie IS SELECT CTRL.ESTADO_ID AS ESTADO_ID, ES.CVEESTADO AS CVEESTADO, CTRL.EMPRESA_ID AS EMPRESA_ID , MAX(CTRL.SERIE) AS SERIE  FROM CTRL_SERIE_EMBARCADA CTRL, ESTADO ES WHERE CTRL.ACTIVO = 1 AND ES.ESTADO_ID =CTRL.ESTADO_ID GROUP BY CTRL.ESTADO_ID,  ES.CVEESTADO, CTRL.EMPRESA_ID ORDER BY CTRL.ESTADO_ID, CTRL.EMPRESA_ID; 
BEGIN
    FOR linha IN cur_ctrl_serie LOOP 
        DECLARE
            NUMSERIE CTRL_SERIE_bpe%type;
        BEGIN
        --Aqui da erro
            NUMSERIE:= SELECT NUMSERIE  FROM CTRL_SERIE_BPE WHERE ACTIVO = 1 AND ESTADO_ID=linha.EMPRESA_ID and EMPRESA_ID=linha.EMPRESA_ID)> linha.SERIE;
            IF (NUMSERIE > linha.SERIE ) THEN 
                dbms_output.put_line ('SERIE EMBARCADA MAIOR QUE SRIE BPE'); 
            ELSE
                dbms_output.put_line('SERIE EMBARCADA NÃO MAIOR QUE SRIE BPE');
            END IF;

        END;
    END LOOP;
END;
1 resposta

Olá Valdevir, tudo bem?

Como já responde você aqui neste outro Tópico, vamos continuar por lá, está bem? Assim, deixamos o assunto focado em apenas um lugar, facilitando a nossa comunicação.

Qualquer nova dúvida é só falar e bons estudos!