0

我正在为我的硬件制作一张桌子,但我一直收到错误消息

ORA-00054: 资源繁忙并使用指定的 NOWAIT 获取或超时已过期

有人可以帮我吗?

以下是说明... 创建具有以下属性的表 KR_ORDER,如下所示。 http://i.stack.imgur.com/hNgW9.jpg Order_Number 属性是表的主键。Customer_Name 是链接到 KR_CUSTOMER 表的外键。Salesperson_Name 是链接到 KR_Salesperson 表的外键。为属性选择适当的数据类型

这就是我到目前为止所拥有的。

create Table KR_ORDER (
Order_Number number(3)constraint KR_ORDER_pk primary key,
Customer_Name varchar2(30) constraint KR_ORDER_fk references Kr_CUSTOMER,
Salesperson_Name varchar2(30) constraint KR_ORDER_fk references Kr_SALESPERSON,
Amount Number(5));
4

1 回答 1

2

一方面,您复制了 FK 约束名称(“kr_order_fk”)。我认为这不会导致此错误,但它肯定会在某一时刻引起问题。

尝试创建没有约束的表。一旦成功,使用单独的语句添加约束:

CREATE TABLE kr_order (
  order number NUMBER(3),
  customer_name VARCHAR2(30),
  salesperson_name VARCHAR2(30),
  amount NUMBER(5));

ALTER TABLE kr_order ADD CONSTRAINT kr_order_pk PRIMARY KEY (order_number);

ALTER TABLE kr_order ADD CONSTRAINT kr_order_fk1
   FOREIGN KEY (customer_name)
   REFERENCES kr_customer (customer_name);

ALTER TABLE kr_order ADD CONSTRAINT kr_order_fk2
   FOREIGN KEY (salesperson_name)
   REFERENCES kr_salesperson (salesperson_name);

这会将语句分解为多个部分,以便您可以准确查看导致错误的原因。

于 2013-09-28T13:25:08.547 回答