2 sinat 28533167 sinat_28533167 于 2015.05.27 18:10 提问

oracle 报错 ora-00905

report如下,求大神来看看
在行: 99 上开始执行命令时出错 -
ALTER TABLE vet ADD CONSTRAINT vetpractice_vet_fk
FOREIGN KEY (vetpractice_no, pet_no, owner_no)
REFERENCES vetpractice (vetpractice_no, pet_no, owner_no)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE
错误报告 -
SQL 错误: ORA-00905: 缺失关键字
00905. 00000 - "missing keyword"
*Cause:

*Action:

4个回答

u012216727
u012216727   Ds   Rxr 2015.05.27 18:18
frank_20080215
frank_20080215   2015.05.27 22:24

此表的关键字没有包含外键,包含进去,就可以了。

lzp_lrp
lzp_lrp   Ds   Rxr 2015.05.28 08:50

ON DELETE NO ACTION
这个地方出问题了
10G 以前就有了. on delete set null 或者 on delete cascade,没用过ON DELETE NO ACTION
如果在建外键的时候,不加任何选项 默认就是 on delete no action

lzp_lrp
lzp_lrp   Ds   Rxr 2015.05.28 08:50

改为以下代码试试

ALTER TABLE vet ADD CONSTRAINT vetpractice_vet_fk
FOREIGN KEY (vetpractice_no, pet_no, owner_no)
REFERENCES vetpractice (vetpractice_no, pet_no, owner_no)
NOT DEFERRABLE

Csdn user default icon
上传中...
上传图片
插入图片