Validacao de Arredondamento

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Avatar do usuário
rog3rk
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sex, 18 Jul 2008 8:06 am
Localização: Sapiranga RS

Bom dia Pessoal ..

Tenho um campo number(10,5) e devo fazer uma validação para somente aceitar números inteiros ou com .5 na decimal..

Obrigado..
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

Pode usar MOD pra validar se é multiplo de .5
Exemplo: Essa é minha tabela.

Selecionar tudo

SQL> select sal/12 sal from emp;

       SAL
----------
66.6666667
133.333333
104.166667
247.916667
104.166667
     237.5
204.166667
       250
416.666667
       125
91.6666667
79.1666667
       250
108.333333

14 rows selected.
Agora, fazemos a validação:

Selecionar tudo

SQL> select sal,  decode( mod(sal, .5), 0, 'PASSOU', 'não PASSOU') VALIDACAO
  2  from (select sal/12 sal from emp)
  3  /

       SAL VALIDACAO
---------- ----------
66.6666667 não PASSOU
133.333333 não PASSOU
104.166667 não PASSOU
247.916667 não PASSOU
104.166667 não PASSOU
     237.5 PASSOU
204.166667 não PASSOU
       250 PASSOU
416.666667 não PASSOU
       125 PASSOU
91.6666667 não PASSOU
79.1666667 não PASSOU
       250 PASSOU
108.333333 não PASSOU

14 rows selected.

SQL> 
:-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

Completando:
Coloca uma trigger WHEN-VALIDATE-ITEM e coloca a consistência citada acima!

Selecionar tudo

IF mod( :bloco.campo, .5 ) <> 0
THEN --> CHAMA MENSAGEM DE ERRO;
  RAISE FORM_TRIGGER_FAILURE;
END IF;
Avatar do usuário
rog3rk
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sex, 18 Jul 2008 8:06 am
Localização: Sapiranga RS

Valeu Thomas!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Majestic-12 [Bot] e 8 visitantes