0

sv_hardware(列: 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

それらの1つが間違っている、あなたはどちらを知っている必要があります。

補足として、識別子を引用するように強制する文字が含まれている識別子には使用しないことを強くお勧めします。スペースは使用せず、アンダースコアを使用してください。

于 2012-07-20T12:42:35.847 に答える