我正在尝试使用time_id,product_id和customer_id的复合外键创建表SALESDATA。
我收到错误消息:
引用列的数据类型或排序规则与引用列的数据类型或排序规则不兼容。
由于我的外键的数据类型与引用表的主键相同,因此我想知道这种情况下的排序规则以及这可能如何解决我的问题。
这是供参考的代码:
create table ach131.TIME(
time_id NUMBER(*,0),
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),
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)
);```