0
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:
4

2 回答 2

0

试试看

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)
);
于 2020-10-13T17:01:46.880 回答
0

声明内联外键的语法是:

<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)
于 2020-10-13T17:00:05.897 回答