我创建了一个名为sv_hardware的表(column:ip_ adrs)。
现在我想创建一个表,其中ip_adrs将是外键,所以我编码:
Create table sv_req_info(
"server_no" number not null PRIMARY KEY,
"host_ name" varchar2(100),
"cur_ status" varchar2(100),
"loc " varchar2(100),
"buss_roles" varchar2(100),
"rack _no" varchar2(100),
"rk U_ consump" varchar2(100),
"Rmarks_owner" varchar2(100),
"ip_ adrs " varchar2(100) ,
"sv_type_cat" varchar2(100),
date_added date,
CONSTRAINT fk_sv_hardware
FOREIGN KEY (ip_adrs)
REFERENCES sv_hardware(ip_adrs));
发生错误ORA-00907: missing right parenthesis
答案 0 :(得分:2)
CREATE TABLE sv_hardware
(
ip_adrs VARCHAR(10) PRIMARY KEY
)
;
CREATE TABLE sv_req_info
(
"server_no" NUMBER NOT NULL PRIMARY KEY,
"host_ name" VARCHAR2(100),
"cur_ status" VARCHAR2(100),
"loc " VARCHAR2(100),
"buss_roles" VARCHAR2(100),
"rack no" VARCHAR2(100),
"rk U consump" VARCHAR2(100),
"Rmarks_owner" VARCHAR2(100),
"ip_adrs" VARCHAR2(100),
"sv_type_cat" VARCHAR2(100),
date_added DATE,
CONSTRAINT fk_sv_hardware FOREIGN KEY ("ip_adrs") REFERENCES sv_hardware (ip_adrs)
)
;
以上作品,对我来说引用“ip_adrs”似乎有问题。
答案 1 :(得分:0)
问题似乎是您的列名为"ip_ adrs "
(带空格),外键提到ip_adrs
其中一个是错的,你应该知道哪个。
作为旁注,我强烈建议不要使用其中包含任何字符的标识符来强制引用标识符。不要使用空格,使用下划线。