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)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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');