SQL语句有问题
我对SQL语句有问题。 我想使用以下语句激活表中外键的“更新级联”行为:SQL语句有问题,sql,oracle,ora-00905,Sql,Oracle,Ora 00905,我对SQL语句有问题。 我想使用以下语句激活表中外键的“更新级联”行为: ALTER TABLE "DB"."RECORD" ADD CONSTRAINT "RECORD_PT_OUTIL_FK1" FOREIGN KEY ("CDE_PO") REFERENCES "DB"."PT_OUTIL" ("CDE_PO") ON UPDATE CASCADE ENABLE; 但是,当我在Oracle Developer中运行该语句时,我只收到以下错误消息:“ORA-00905:缺少关键字” 我找不
ALTER TABLE "DB"."RECORD" ADD CONSTRAINT "RECORD_PT_OUTIL_FK1" FOREIGN KEY ("CDE_PO")
REFERENCES "DB"."PT_OUTIL" ("CDE_PO") ON UPDATE CASCADE ENABLE;
但是,当我在Oracle Developer中运行该语句时,我只收到以下错误消息:“ORA-00905:缺少关键字”
我找不到这个丢失的关键字,我尝试了几次更改,但总是出现相同的错误。
我重用了由Oracle开发人员自己生成的代码,只需根据需要对其进行修改即可。
这是生成的代码:
ALTER TABLE "DB"."RECORD" ADD CONSTRAINT "RECORD_PT_OUTIL_FK1" FOREIGN KEY ("CDE_PO")
REFERENCES "DB"."PT_OUTIL" ("CDE_PO") ON DELETE CASCADE DISABLE;
看,我只是改变了它的结尾。
那这里怎么了?我错过什么了吗?(如果是明显的事情,请不要抨击:)
谢谢 尝试删除命令末尾的
禁用
/启用
根据,似乎没有任何“启用/禁用”作为命令的一部分
我认为这是您的Oracle开发人员在末尾()添加的内容,它可能会导致问题 Oracle不支持外键的
ON UPDATE
子句
请参阅手册中的参考
条款的说明:我给你创建表时生成的DDL,也许你会看到一些奇怪的东西…:@B1ll0u-您在MySQL中使用的数据库引擎是什么?该表是否使用MyISAM或InnoDB?