Criação de Lov

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
flebrao
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 116
Registrado em: Seg, 10 Abr 2006 4:46 pm
Localização: Santa Bárbara D'Oeste

Olá Pessoal, estou tentando criar uma lov da seguinte maneira... quando a qtd de dias for maior que 0 e motivo for = 0 eu devo listar da minha query(possui valores de 0 a 10 ), somente os valores de 1 a 10, caso contrario eu listo ela por completo... algúem poderia me dar um help?


--select
select CDMOTIVO, NMMOTIVO
FROM R_xXGEP_057

--condicao para exibir lov parcial
(QTDDIAS > 0 AND MOTIVO = 0)

Desde já agradeço
Fábio Lebrão
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Isso é extremamente fácil de fazer. Veja o exemplo abaixo que eu fiz com SCOTT.
Criei uma variavel BIND chamada parametro e coloquei o valor S nela.

Selecionar tudo

SQL> var parametro varchar2(1);
SQL> var
variable   parametro
datatype   VARCHAR2

SQL> print parametro

PARAMETRO
--------------------------------


SQL> begin
  2    :parametro:='S';
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> print parametro

PARAMETRO
--------------------------------
S

Agora, rodo o meu select: Observe que só vem os que são SALESMAN.

Selecionar tudo

SQL> SELECT * 
  2  FROM EMP
  3    WHERE ( (:PARAMETRO = 'S' AND JOB='SALESMAN')
  4            OR
  5            :PARAMETRO <>'S'
  6          )
  7  /

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
Repetimos o procedimento, colocando N na variável. Veja que agora, ele retorna todas linhas com o mesmo select!

Selecionar tudo

SQL> begin
  2    :parametro:='N';
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL> print parametro

PARAMETRO
--------------------------------
N

SQL> 
SQL> SELECT * 
  2  FROM EMP
  3    WHERE ( (:PARAMETRO = 'S' AND JOB='SALESMAN')
  4            OR
  5            :PARAMETRO <>'S'
  6          )
  7  /

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

14 rows selected.

SQL> 
flebrao
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 116
Registrado em: Seg, 10 Abr 2006 4:46 pm
Localização: Santa Bárbara D'Oeste

Realmente é bem fácil mesmo... rsss obrigado pela dica DR_GORI...


abraços :-o
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes