【发布时间】:2021-01-28 00:55:58
【问题描述】:
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),
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 report -
ORA-00907: missing right parenthesis
00907. 00000 - "missing right parenthesis"
*Cause:
*Action:
【问题讨论】:
-
我更改了标签。 “ORA-00907”错误适用于 Oracle,而不是 MySQL。
NUMBER也是 Oracle 数据类型,MySQL 无法识别。 -
您混淆了语法。取出所有
FOREIGN KEY文字;或者将 FK 单独构建到列定义中。 -
您好,请在发布问题时提供一些描述。顺便说一句,这是一个非常常见的问题 (ORA-00907)。这篇文章为这个问题提供了一组可靠的答案,stackoverflow.com/questions/48045336/…。
标签: sql oracle foreign-keys create-table ora-00907