ORA-02267 :(列类型与引用的列类型不兼容)尽管数据类型是相同的

时间:2019-11-26 13:48:54

标签: sql oracle types foreign-keys collation

我正在尝试创建一个表SALESDATA,该表具有time_id,product_id和customer_id的复合外键。

我收到错误消息:

  

引用列的数据类型或排序规则与引用列的数据类型或排序规则不兼容。

由于我的外键的数据类型与所引用表的主键相同,所以我想知道这种情况下的排序规则,以及如何解决我的问题。

以下是参考代码:

create table ach131.TIME(
    time_id NUMBER(*,0),      <----------- those
    orderdate TIMESTAMP,
    primary key(time_id)
);

create table ach131.PRODUCT(
    product_id CHAR(10 BYTE),      <-----------
    p_description CHAR (50 BYTE),
    p_salesprice NUMBER(10,2),
    p_purchaseprice NUMBER(10,2),
    p_category CHAR(10 BYTE),
    p_categorydescription VARCHAR2(45 BYTE),
    p_division VARCHAR2(10 BYTE),
    p_divisiondescription VARCHAR2(45 BYTE),
    primary key(product_id)
);

create table ach131.SALESORGANISATION(
    customer_id NUMBER(*,0),             <-----------
    s_customerdescription VARCHAR2(255 BYTE),
    s_city VARCHAR2(50 BYTE),
    s_salesorganisation VARCHAR2(10 BYTE),
    s_SOdescription VARCHAR2(45 BYTE),
    s_country VARCHAR2(50 BYTE),
    primary key(customer_id)
);

create table ach131.SALESDATA(
    time_id NUMBER(*,0),      <----------- are equal to these here
    product_id CHAR(10 BYTE),      <-----------
    customer_id NUMBER(*,0),      <-----------
    revenue NUMBER(10,2),
    salesquantity NUMBER(10,2),
    costgoodssold NUMBER(10,2),
    discount NUMBER(10,2),
    netsales NUMBER(10,2),
    foreign key(time_id) references TIME(time_id),
    foreign key(product_id) references PRODUCT(product_id),
    foreign key(customer_id) references SALESORGANISATION(customer_id)
);```

0 个答案:

没有答案