我创建了一个名为ITEM
CREATE TABLE item
(Item_no NUMBER(4) CONSTRAINT item_item_no_pk PRIMARY KEY,
item_name VARCHAR2 (50) CONSTRAINT item_item_name_nn NOT NULL,
Category_code VARCHAR2 (3) CONSTRAINT item_category_code_nn NOT NULL,
Qty_in NUMBER (5) CONSTRAINT item_qty_in_ck CHECK (qty_in > 0),
Qty_out NUMBER (5) CONSTRAINT item_qty_out_ck CHECK (qty_out > 0),
Qty_bal NUMBER (5) CONSTRAINT item_qty_bal_ck CHECK (qty_bal >= 0),
Last_purchase_date DATE,
Last_sale_date DATE,
Cost_price NUMBER (5,2) CONSTRAINT ITEM_cost_price_ck CHECK (cost_price > 0),
Sales_price NUMBER (5,2) CONSTRAINT ITEM_sales_price_ck CHECK (sales_price > 0));
现在我正在尝试创建一个类别表
CREATE TABLE category
(Category_code VARCHAR2(3) NOT NULL,
CONSTRAINT category_Category_code_fk
FOREIGN KEY (Category_code) REFERENCES item (Category_code),
Category_name VARCHAR2(50) NOT NULL);
我收到了这个错误:
SQL错误:ORA-00955:现有对象已使用名称00955. 00000 - “现有对象已使用名称”
我不知道我错过了什么,因为我知道你的列名可以相同......我一直在圈子里。如果有人能指出我正确的方向,我会很感激。
答案 0 :(得分:1)
试试这个修改过的sql代码
CREATE TABLE category
(
Category_code VARCHAR(3) PRIMARY KEY,
Category_name VARCHAR(50) NOT NULL
)
CREATE TABLE item
(
Item_no NUMERIC(4, 2) CONSTRAINT item_item_no_pk PRIMARY KEY,
item_name VARCHAR (50) CONSTRAINT item_item_name_nn NOT NULL,
Category_code VARCHAR(3) CONSTRAINT item_category_code_nn NOT NULL
CONSTRAINT category_Category_code_fk
FOREIGN KEY (Category_code)
REFERENCES category (Category_code),
Qty_in NUMERIC(4, 2) CONSTRAINT item_qty_in_ck CHECK (qty_in > 0),
Qty_out NUMERIC(4, 2) CONSTRAINT item_qty_out_ck CHECK (qty_out > 0),
Qty_bal NUMERIC(4, 2) CONSTRAINT item_qty_bal_ck CHECK (qty_bal >= 0),
Last_purchase_date DATE,
Last_sale_date DATE,
Cost_price NUMERIC(4, 2) CONSTRAINT ITEM_cost_price_ck CHECK (cost_price > 0),
Sales_price NUMERIC(4, 2) CONSTRAINT ITEM_sales_price_ck CHECK(sales_price > 0)
)
创建一个外键关系时,
首先创建包含主键的表(类别表)。
定义主键,(Category_code VARCHAR(3)PRIMARY KEY)
创建引用Category_code的表格,(项目表格)。
创建引用,即外键
Category_code VARCHAR(3)CONSTRAINT item_category_code_nn NOT NULL CONSTRAINT category_Category_code_fk 外键(Category_code) REFERENCES类别(Category_code)