user1540411
user1540411

Reputation: 11

Declaring foreign key,error:ORA-00907: missing right parenthesis

I have created a table named sv_hardware(column: ip_ adrs).

Now I want to create a table where ip_ adrs will be foreign key so I coded:

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));

An error occurs ORA-00907: missing right parenthesis

Upvotes: 0

Views: 2573

Answers (2)

Roland Bouman
Roland Bouman

Reputation: 31961

Problem seems to be that your column is called "ip_ adrs " (with a space) and the foreign key mentions ip_adrs

One of them is wrong, you should know which.

As a sidenote, I would strongly recommend against identifiers that have any character in them that forces you to quote the identifier. Don't use spaces, use underscores.

Upvotes: 0

tvm
tvm

Reputation: 3449

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)
)
;

Above works, seems like problem with quoting of "ip_adrs" to me.

Upvotes: 2

Related Questions