Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #106455
    Avatar de Paula Cristina dos SantosPaula Cristina dos Santos
    Participante

      Olá pessoal,

      Tenho um situação onde avalio o valor de um parâmetro recebido na procedure e devo retornar dois campos de data, que representam uma vigência (data inicial e data final), fazendo um filtro de acordo com o valor do parametro. O case pode retornar dois valores? Ou tem alguma outra forma de fazer isso?

      Tentei fazer algo assim, mas não funciona.

      (SELECT AT.DTA_INIC, AT.DTA_FINA,
      CASE
      WHEN P_VIGENCIA = 1 THEN TRUNC(AT.DTA_INIC) < TRUNC(SYSDATE) WHEN P_VIGENCIA = 2 THEN TRUNC(AT.DTA_INIC) > TRUNC(SYSDATE)
      ELSE TRUNC(AT.DTA_INIC) AND TRUNC(NVL(AT.DTA_FINA,
      TO_DATE(’31/12/9999′, ‘DD/MM/YYYY’)))
      FROM T_AT_SGI AT)

      #106456
      Avatar de rmanrman
      Participante

        @Paula Cristina dos Santos

        Realmente ficou bem confuso, não consegui entender direito. Veja se isso pode te ajudar.


        CREATE OR REPLACE PROCEDURE PCALCULATE_EFFECTIVE(PEFFECTIVE_TYPE IN NUMBER,PSTART_DATE OUT DATE,PEND_DATE OUT DATE) IS
        BEGIN
        CASE PEFFECTIVE_TYPE
        WHEN 1 THEN
        PSTART_DATE := SYDATE;
        PEND_DATE := SYSDATE + 1;
        WHEN 2 THEN
        PSTART_DATE := SYDATE;
        PEND_DATE := SYSDATE + 30;
        ELSE
        PSTART_DATE := SYDATE;
        PEND_DATE := SYSDATE + 90;
        END CASE;
        END PCALCULATE_EFFECTIVE;

        Estou usando 2 variáveis de saída para retorno da PROCEDURE: PSTART_DATE OUT DATE e PEND_DATE OUT DATE. Tenho um CASE que trata o tipo de validade: PEFFECTIVE_TYPE. Aplique a regra de negócio necessária.

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress