在oracle数据库中创建表时,显示右括号缺失错误
在oracle数据库中创建表时,显示右括号缺失错误在oracle数据库中创建表时,显示右括号缺失错误,oracle,foreign-keys,ddl,Oracle,Foreign Keys,Ddl,在oracle数据库中创建表时,显示右括号缺失错误 CREATE TABLE Catalog( sid VARCHAR2(50) FOREIGN KEY REFERENCES Suppliers(sid), pid VARCHAR2(50) FOREIGN KEY REFERENCES Parts(pid), quantity VARCHAR2(50) ); 您需要按以下步骤删除部件外键: CREATE TABLE Catalog( sid VARCHAR2(50) REFERENCES Su
CREATE TABLE Catalog(
sid VARCHAR2(50) FOREIGN KEY REFERENCES Suppliers(sid),
pid VARCHAR2(50) FOREIGN KEY REFERENCES Parts(pid),
quantity VARCHAR2(50)
);
您需要按以下步骤删除部件
外键
:
CREATE TABLE Catalog(
sid VARCHAR2(50) REFERENCES Suppliers(sid),
pid VARCHAR2(50) REFERENCES Parts(pid),
quantity VARCHAR2(50)
);
或者您可以创建为:
CREATE TABLE Catalog
( sid VARCHAR2(50),
pid VARCHAR2(50),
quantity VARCHAR2(50),
CONSTRAINT fk_supplier
FOREIGN KEY (sid)
REFERENCES suppliers(sid),
CONSTRAINT fk_parts
FOREIGN KEY (pid)
REFERENCES parts(pid)
);
通过定义外部约束
”名称
或者,如果以前已经创建了表,则可以通过以下方式在以后添加约束:
CREATE TABLE Catalog
( sid VARCHAR2(50),
pid VARCHAR2(50),
quantity VARCHAR2(50)
);
ALTER TABLE Catalog
ADD CONSTRAINT fk_supplier
FOREIGN KEY (sid)
REFERENCES suppliers(sid);
ALTER TABLE Catalog
ADD CONSTRAINT fk_parts
FOREIGN KEY (pid)
REFERENCES parts(pid);
您需要按以下步骤删除部件
外键
:
CREATE TABLE Catalog(
sid VARCHAR2(50) REFERENCES Suppliers(sid),
pid VARCHAR2(50) REFERENCES Parts(pid),
quantity VARCHAR2(50)
);
或者您可以创建为:
CREATE TABLE Catalog
( sid VARCHAR2(50),
pid VARCHAR2(50),
quantity VARCHAR2(50),
CONSTRAINT fk_supplier
FOREIGN KEY (sid)
REFERENCES suppliers(sid),
CONSTRAINT fk_parts
FOREIGN KEY (pid)
REFERENCES parts(pid)
);
通过定义外部约束
”名称
或者,如果以前已经创建了表,则可以通过以下方式在以后添加约束:
CREATE TABLE Catalog
( sid VARCHAR2(50),
pid VARCHAR2(50),
quantity VARCHAR2(50)
);
ALTER TABLE Catalog
ADD CONSTRAINT fk_supplier
FOREIGN KEY (sid)
REFERENCES suppliers(sid);
ALTER TABLE Catalog
ADD CONSTRAINT fk_parts
FOREIGN KEY (pid)
REFERENCES parts(pid);
约束语法是
内联约束::=
线外约束::=
参考条款::=
示例是内联的,因为它们是列定义的一部分,而不是在单独的节或语句中
我会这样写:
create table catalog
( sid references suppliers(sid)
, pid references parts(pid)
, quantity varchar2(50) );
或者如果我想明确地命名它们:
create table catalog
( sid constraint cat_supplier_fk references suppliers(sid)
, pid constraint cat_part_fk references parts(pid)
, quantity varchar2(50) );
如果您想要,可以显式重写默认数据类型,但我认为允许它从父节点继承是更好的做法。(只能使用内联约束执行此操作。)
约束语法为 内联约束::= 线外约束::= 参考条款::= 示例是内联的,因为它们是列定义的一部分,而不是在单独的节或语句中 我会这样写:create table catalog
( sid references suppliers(sid)
, pid references parts(pid)
, quantity varchar2(50) );
或者如果我想明确地命名它们:
create table catalog
( sid constraint cat_supplier_fk references suppliers(sid)
, pid constraint cat_part_fk references parts(pid)
, quantity varchar2(50) );
如果您想要,可以显式重写默认数据类型,但我认为允许它从父节点继承是更好的做法。(您只能通过内联约束执行此操作。)
是否已经存在供应商
和零件
表?是否已经存在供应商
和零件
表?