Comando NVL

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Seg, 15 Mai 2006 12:25 pm

Bom dia Gente , estou eu aqui mais uma vez pertubando vocês.
Mas vou lá ....

Estou com um problema aqui em um SQL meu, tenho um parametro aqui no meu Select que pode voltar nulo e caso volte nulo , tenho que pesquisar em outra tabela os possiveis valores para este parametro.

Tentei fazer isso NVL (PARAMETRO,'SELECT * FROM TABELA')

Não consegui, queria ajuda de vocês para responder se seria possivel fazer isso de outra maneira ou eu estou usando o comando NVL errado.

Espero uma resposta !!!

E muito obrigado desde já ....
:lol:
jctq
Localização: São Gonçalo

Att,
Julio Quintão

Mensagemem Sex, 02 Jun 2006 7:57 am

Cara, uma sugestão seria você criar uma função no banco e chama-la quando o parametro fosse null.
Ex.:
SELECT * FROM ra_salesreps
WHERE name IN nvl(null,pk_calcula_cota.get_vendedor(1000))

Espero que isso ajude.
Valdo
Localização: Medianeira/pr

Mensagemem Sex, 02 Jun 2006 10:12 am

Mais fácil ainda:
Pode usar CASE WHEN. Dai ele aceita colocar um sub-select dentro.
Veja o exemplo:

Código: Selecionar todos
SQL> SELECT
  2    A.ENAME
  3  , A.COMM
  4  , CASE WHEN A.COMM IS NULL THEN (SELECT B.JOB
  5                                   FROM EMP B
  6                                   WHERE A.EMPNO=B.EMPNO)
  7    END CONSULTA
  8  FROM EMP A
  9  /

ENAME            COMM CONSULTA
---------- ---------- ---------
SMITH                 CLERK
ALLEN             300
WARD              500
JONES                 MANAGER
MARTIN           1400
BLAKE                 MANAGER
CLARK                 MANAGER
SCOTT                 ANALYST
KING                  PRESIDENT
TURNER              0
ADAMS                 CLERK
JAMES                 CLERK
FORD                  ANALYST
MILLER                CLERK

14 rows selected.

SQL>


:-o
dr_gori
Localização: Portland, OR USA

Thomas F. G

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



Voltar para SQL

Quem está online

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