GARANTIR DESCONTO

Fórum problemas com tipo numeric #49522

23/02/2005

0

Quando eu declaro um campo numeric(8,2) ele deveria deixa eu digitar apenas 6 digitos inteiros, mas ele deixa eu digitar mais ... gostaria de ter essa precisão, 6 inteiros e 2 decimais ... já tentei numeric (6,2) ... (4,2), mas é mesma coisa, ele deixa eu digitar sempre mais

Desde já agradeço.

Fabíola


Fea

Fea

Responder

Posts

23/02/2005

Afarias

Quando vc define uma Escala e Precisão para um campo NUMERIC apenas está deixado q o INTERBASE escolha o melhor tipo interno para suportar aquela escala e precisão.

O banco de dados em si não controla a quantidade de dígitos e muitas vezes será possível colocar um valor maior q o q foi definido (como vc mesmo já pode perceber)

Se vc realmente nessecita fazer esse controle de dígitos terá de programar ele vc mesmo, seja atravês de uma trigger ou no código da sua aplicação.


T+


Responder

Gostei + 0

23/02/2005

Fea

Será que em outros SGDB´s também é assim que funciona?

Vc pode me mostrar como eu faço uma trigger para controlar a entrada de dados?


Grata,

Fabíola


Responder

Gostei + 0

23/02/2005

Afarias

|Será que em outros SGDB´s também é assim que funciona?

Sim, geralmente (até onde conheço)


|Vc pode me mostrar como eu faço uma trigger para controlar a entrada
|de dados?

para valores até 6 dígitos:

create exception ValorInvalido ´Este valor nao e valido´;

set term ^;

create trigger bi_valida_tabela1 for tabela1 before insert as
begin
  if (new.valor > 999999) then
    exception ValorInvalido;
end^

create trigger bu_valida_tabela1 for tabela1 before update as
begin
  if (new.valor > 999999) then
    exception ValorInvalido;
end^



T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar