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