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)
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)
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');