0

我创建了一个名为 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

4

2 回答 2

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”的问题。

于 2012-07-20T10:24:01.377 回答
0

问题似乎是您的列被调用"ip_ adrs "(带有空格)并且外键提到ip_adrs

其中一个是错的,你应该知道哪个。

作为旁注,我强烈建议不要使用包含任何字符的标识符,这些字符会迫使您引用标识符。不要使用空格,使用下划线。

于 2012-07-20T12:42:35.847 回答