Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

OPERADOR BOOLEANO

TENTEI COLOCAR TRUE NO LOCAL DE 1 NA MINHA TABELA COMPRAS SEGUINDO AS INSTRUÇÕES E APARECEU ESTÁ MENSAGEM ORA-12899: valor muito grande para a coluna "YGOR"."COMPRAS"."RECEBIDO" (real: 4, mßximo: 1)

1 resposta
solução!

Joseph,

Provavelmente você criou a tabela COMPRAS definindo o tipo de dado do campo RECEBIDO como char, sem definir o tamanho do campo como no exemplo. O valor por omissão é 1, e no seu caso você atribui a palavra FALSE que contém 5 catacteres no pior dos casos, o que no caso ocasionou o seu problema. Para funcionar você deve criar a tabela da seguinte forma:

CREATE TABLE COMPRAS
  (
    id          NUMBER PRIMARY KEY,
    valor       NUMBER,
    data        DATE,
    observacoes VARCHAR2(30),
    recebido    CHAR(5) CHECK(recebido IN('TRUE','FALSE'))
  );

Exemplo de inserção:

insert into COMPRAS (id, valor, data, observacoes, recebido) 
        values (1, 3500, '21-MAY-2008', 'TELEVISAO', 'FALSE');