Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brunoaurel

Erro Oracle

Recommended Posts

Olá Pessoal,

Sou novo aqui no forum e queria que se possivel alguem me ajudasse.

Estou fazendo um banco e estou tendo dificuldades.

 

Segue abaixo todas as inserções.

 

CREATE TABLE CLIENTE( 
ID NUMBER(10) NOT NULL, 
RG VARCHAR(12) NOT NULL, 
CPF VARCHAR(14) NOT NULL, 
NOME_COMPLETO VARCHAR(50) NOT NULL, 
LOGRADOURO VARCHAR(30) NOT NULL, 
NUMERO NUMBER(10) NOT NULL, 
COMPLEMENTO VARCHAR(30) NOT NULL, 
BAIRRO VARCHAR(30) NOT NULL, 
CEP VARCHAR(10) NOT NULL, 
CIDADE VARCHAR(30) NOT NULL, 
ESTADO VARCHAR(2) NOT NULL, 
LOGRADOURO_ENTREGA VARCHAR(30) NOT NULL, 
NUMERO_ENTREGA NUMBER(10) NOT NULL, 
COMPLEMENTO_ENTREGA VARCHAR(30) NOT NULL, 
BAIRRO_ENTREGA VARCHAR(30) NOT NULL, 
CEP_ENTREGA VARCHAR(10) NOT NULL, 
CIDADE_ENTREGA VARCHAR(30) NOT NULL, 
ESTADO_ENTREGA VARCHAR(2) NOT NULL, 
TEL_FIXO VARCHAR(15) NOT NULL, 
TEL_CEL1 VARCHAR(15) NOT NULL, 
TEL_CEL2 VARCHAR(15) NOT NULL, 
CONSTRAINT PK_CLIENTE PRIMARY KEY (CPF) 
)

 

CREATE TABLE FORNECEDOR( 
ID NUMBER(10) NOT NULL, 
CNPJ VARCHAR(1 NOT NULL, 
IE VARCHAR(12) NOT NULL, 
RAZAO_SOCIAL VARCHAR(30) NOT NULL, 
FANTASIA VARCHAR(30) NOT NULL, 
LOGRADOURO VARCHAR(30) NOT NULL, 
NUMERO NUMBER(10) NOT NULL, 
COMPLEMENTO VARCHAR(30) NOT NULL, 
BAIRRO VARCHAR(30) NOT NULL, 
CEP VARCHAR(12) NOT NULL, 
CIDADE VARCHAR(30) NOT NULL, 
ESTADO VARCHAR(2) NOT NULL, 
EMAIL VARCHAR(30) NOT NULL, 
TEL_FIXO VARCHAR(13) NOT NULL, 
TEL_SAC VARCHAR(13) NOT NULL, 
TEL_FAX VARCHAR(13) NOT NULL, 
HOMEPAGE VARCHAR(50) NOT NULL, 
NOME_REP VARCHAR(30) NOT NULL, 
TEL_FIXO_REP VARCHAR(13) NOT NULL, 
TEL_CEL1_REP VARCHAR(13) NOT NULL, 
TEL_CEL2_REP VARCHAR(13) NOT NULL, 
TEL_FAX_REP VARCHAR(13) NOT NULL, 
EMAIL_REP VARCHAR(30) NOT NULL, 
CONSTRAINT PK_FORNECEDOR PRIMARY KEY (CNPJ) 
) 

 

 

CREATE TABLE PRODUTO( 
ID NUMBER(10) NOT NULL, 
DESCRICAO VARCHAR(50) NOT NULL, 
ID_FORNECEDOR VARCHAR(10) NOT NULL, 
NOME_FORNECEDOR VARCHAR(30) NOT NULL, 
QTD_ATUAL NUMBER(10) NOT NULL, 
QTD_MINIMA NUMBER(10) NOT NULL, 
LOCAL_ARMAZENAGEM NUMBER(10) NOT NULL, 
VALOR_CUSTO NUMBER(5,2) NOT NULL, 
ICMS NUMBER(10) NOT NULL, 
IPI NUMBER(10) NOT NULL, 
OBSERVACOES VARCHAR(50) NOT NULL, 
CONSTRAINT PK_PRODUTO PRIMARY KEY (ID) 

) 

 

 

CREATE TABLE SAIDA( 
ID NUMBER NOT NULL, 
CPF_CLIENTE VARCHAR(14) NOT NULL, 
ID_PRODUTO NUMBER(10) NOT NULL, 
DESCRICAO_PRODUTO VARCHAR(30) NOT NULL, 
VALOR NUMBER(5,2) NOT NULL, 
QTD NUMBER(5,2) NOT NULL, 
NUM_NF NUMBER(10) NOT NULL, 
OBSERVACOES VARCHAR (30) NOT NULL, 

CONSTRAINT PK_SAIDA PRIMARY KEY (ID), 
CONSTRAINT FK_CLIENTESAIDA FOREIGN KEY (CPF_CLIENTE) REFERENCES CLIENTE (CPF), 
CONSTRAINT FK_IDPRODUTOSAIDA FOREIGN KEY (ID_PRODUTO) REFERENCES PRODUTO (ID) 
) 

 

 

CREATE TABLE FORNECEDOR_PRODUTO( 
CNPJ_FORNECEDOR NUMBER(1 NOT NULL, 
ID_PRODUTO NUMBER(10) NOT NULL, 


CONSTRAINT PK_FORNECEDOR_PRODUTO PRIMARY KEY (CNPJ_FORNECEDOR, ID_PRODUTO), 
CONSTRAINT FK_FORNECEDORCNPJ_FORNPROD FOREIGN KEY (CNPJ_FORNECEDOR) REFERENCES FORNECEDOR (CNPJ), 
CONSTRAINT FK_PRODUTOID_FORNPROD FOREIGN KEY (ID_PRODUTO) REFERENCES PRODUTO (ID) 
) 

 

CREATE TABLE ENTRADA( 
ID NUMBER(10) NOT NULL, 
NUM_NF NUMBER(10) NOT NULL, 
ID_FORNECEDOR NUMBER(10) NOT NULL, 
FANTASIA_FORNECEDOR VARCHAR (30) NOT NULL, 
DESCRICAO_PRODUTO VARCHAR(30) NOT NULL, 
VALOR_PRODUTO NUMBER(5,2) NOT NULL, 
QTD_PRODUTO NUMBER(10) NOT NULL, 

CONSTRAINT PK_ENTRADA PRIMARY KEY (ID) 
) 

 

CREATE TABLE ENTRADA_PRODUTO( 
ENTRADA_ID NUMBER(10) NOT NULL, 
PRODUTO_ID NUMBER(10) NOT NULL, 

CONSTRAINT PK_ENTRADA_PRODUTO PRIMARY KEY (ENTRADA_ID, PRODUTO_ID) 
CONSTRAINT FK_ENTRPROD FOREIGN KEY (ENTRADA_ID) REFERENCES ENTRADA (ID), 
CONSTRAINT FK_PRODID FOREIGN KEY (PRODUTO_ID) REFERENCES PRODUTO (ID) 
) 

 

Estou tendo problemas nas inserções das tabelas entrada_produto e fornecedor_produto. Aparece o erro ORA-02267: tipo de coluna incompatível com o tipo da coluna referenciada.

 

Ja tentei inverte o nome dos campos, tirar algumas fk, mas não consigo criar a tabela.

 

Alguem poderia me ajudar?

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Publica o código do insert.

 

 

 

Motta,

eu não inseri nada ainda nas tabelas. eu preciso criar elas primeiro, da esse erro quando eu vou criar as tabelas fornecedor_produto e entrada_produto.

 

Ja tentei inverter nomes, ja refiz quase toda a modelagem, mas não sei onde que esta errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a PK da tabela fornecedor ?

Campo, tamanho e tipo.

 

CNPJ VARCHAR(1 NOT NULL, 

!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a PK da tabela fornecedor ?

Campo, tamanho e tipo.

 

CNPJ VARCHAR(1 NOT NULL, 

!?

 

 

O campo é o abaixo:

 

CNPJ VARCHAR(18) NOT NULL,

 

essa é a primary key

 

no post eu devo ter apagado sem querer. Desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

FORNECEDOR_PRODUTO.CNPJ_FORNECEDOR deve ter o mesmo tipo e tamanho para ser FK de fornecedor.

 

No seu script está NUMBER ?!

 

CREATE TABLE FORNECEDOR_PRODUTO( 
CNPJ_FORNECEDOR NUMBER(1 NOT NULL, ...

 

o erro

ORA-02267: tipo de coluna incompatível com o tipo da coluna referenciada aponta para este problema

, creio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.