“缺少右括号”-0090700000

问题描述

CREATE TABLE Sale_FactTable 
(EmpID NUMBER FOREIGN KEY REFERENCES Employee_Dimension(EmpID),ProductNum NUMBER FOREIGN KEY REFERENCES Product_Dimension(ProductNum),supplierNum NUMBER FOREIGN KEY REFERENCES supplier_Dimension(supplierNum),SaleID NUMBER FOREIGN KEY REFERENCES SALE(SaleID),ClerkID NUMBER FOREIGN KEY REFERENCES Sale_Clerk_Dimension (ClerkID),ProductID NUMBER FOREIGN KEY REFERENCES Product_Dimension(ProductID),BranchID NUMBER FOREIGN KEY REFERENCES Branch_Dimension(BranchID),LineID NUMBER FOREIGN KEY REFERENCES Sale_Line_Item_Dimension(LineID),CustomerID NUMBER FOREIGN KEY REFERENCES Customer_Dimension(CustomerID),SaleDate Date FOREIGN KEY REFERENCES Sale_Line_Item_Dimension(SaleDate));

Error:
Error starting at line : 60 in command -
CREATE TABLE Sale_FactTable 
(EmpID NUMBER FOREIGN KEY REFERENCES Employee_Dimension(EmpID),SaleDate Date FOREIGN KEY REFERENCES Sale_Line_Item_Dimension(SaleDate))
Error report -
ORA-00907: missing right parenthesis
00907. 00000 -  "missing right parenthesis"
*Cause:    
*Action:

解决方法

声明内联外键的语法为:

<column_name> <datatype> references <parent_table(parent_column_name)>

基本上就是这样:

empid number foreign key references employee_dimension(empid)

应写为:

empid number references employee_dimension(empid)

或者,您可以在单独的子句中声明外键,这使您有机会选择键的名称(与内联语法相反,后者由数据库自动选择名称):

empid number,constraint empid_fk foreign key references employee_dimension(empid)
,

尝试为

CREATE TABLE sale_facttable
(
   empid         NUMBER    REFERENCES employee_dimension (empid),productnum    NUMBER    REFERENCES product_dimension (productnum),suppliernum   NUMBER    REFERENCES supplier_dimension (suppliernum),saleid        NUMBER    REFERENCES sale (saleid),clerkid       NUMBER    REFERENCES sale_clerk_dimension (clerkid),productid     NUMBER    REFERENCES product_dimension (productid),branchid      NUMBER    REFERENCES branch_dimension (branchid),lineid        NUMBER    REFERENCES sale_line_item_dimension (lineid),customerid    NUMBER    REFERENCES customer_dimension (customerid),saledate      DATE    REFERENCES sale_line_item_dimension (saledate)
);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...