Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在oracle数据库中创建表时,显示右括号缺失错误_Oracle_Foreign Keys_Ddl - Fatal编程技术网

在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

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

如果您想要,可以显式重写默认数据类型,但我认为允许它从父节点继承是更好的做法。(您只能通过内联约束执行此操作。)

是否已经存在
供应商
零件
表?是否已经存在
供应商
零件
表?