Sql ORA-00905:缺少关键字(从教科书中复制)

Sql ORA-00905:缺少关键字(从教科书中复制),sql,oracle,ddl,Sql,Oracle,Ddl,已经尝试上下查看代码,但无法使其正常工作。主要是尝试创建表函数。在尝试创建具有复合主键的表之前,工作正常。完全被难住了。感谢您的帮助 尝试删除密钥的名称,但随后被重定向到另一种错误:“无效数据类型” 问题在于更新时的。删除: Create Table Cust_Artist_EOI ( ArtistID Number(38) Not Null, CustomerID Number(38) Not Null, Constraint Cust_Artist_EO

已经尝试上下查看代码,但无法使其正常工作。主要是尝试创建表函数。在尝试创建具有复合主键的表之前,工作正常。完全被难住了。感谢您的帮助

尝试删除密钥的名称,但随后被重定向到另一种错误:“无效数据类型”


问题在于更新时的
。删除:

Create Table Cust_Artist_EOI  (
    ArtistID   Number(38)  Not Null,
    CustomerID  Number(38)  Not Null,
    Constraint  Cust_Artist_EOI_PK Primary Key(ArtistID, CustomerID),
    Constraint  Cust_Artist_EOI_ArtistFK Foreign Key(ArtistID)
        References  MyArtist(ArtistID) On Delete Cascade,
    Constraint  Cust_Artist_EOI_CustFK  Foreign Key(CustomerID)
        References MyCustomer(CustomerID) On Delete Cascade
 );
他是一把小提琴

如果查看Oracle中的“查找外键”约束,您将看到更新时既不支持
也不支持
任何操作

我不确定为什么不支持
no action
,因为这是默认行为(我认为能够表达默认行为是个好主意)


更新时不支持
是一个更好的主意。它不鼓励更改主键。而且更改主键通常是个坏主意。

很高兴它现在可以工作了。更新失败的原因是什么?@SnappyTurtle。因为更新主键是个坏主意。但是,我不确定为什么
不支持任何操作
。这很公平。干杯
Create Table Cust_Artist_EOI  (
    ArtistID   Number(38)  Not Null,
    CustomerID  Number(38)  Not Null,
    Constraint  Cust_Artist_EOI_PK Primary Key(ArtistID, CustomerID),
    Constraint  Cust_Artist_EOI_ArtistFK Foreign Key(ArtistID)
        References  MyArtist(ArtistID) On Delete Cascade,
    Constraint  Cust_Artist_EOI_CustFK  Foreign Key(CustomerID)
        References MyCustomer(CustomerID) On Delete Cascade
 );