Reputation: 11
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
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
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