ORA-30726: cannot specify referenced column list here ORACLE 报错 故障修复 远程处理

文档解释

ORA-30726: cannot specify referenced column list here

Cause: An attempt was made to specify a referenced column list for a referential constraint involving a REF column.

Action: Remove the referenced column list specification.

ORA-30726: cannot specify referenced column list here

当提交一个带有REFERENCED COLUMN LIST选项的ALTER TABLE … ADD CONSTRAINT命令时,可能会出现ORA-30726错误。 该选项不支持非主键约束(例如UNIQUE、FOREIGN KEY等)。

官方解释

ORA-30726: 在此处不能指定引用的列表

当在ALTER TABLE … ADD CONSTRAINT语句中指定了REFERENCED COLUMN LIST选项并且约束类型不是主键时,就会出现ORA-30726错误。

常见案例

假设您想在表EMPLOYEE中添加约束,以限制EMP_ID、EMP_LAST_NAME和EMP_FIRST_NAME都必须是唯一的:

ALTER TABLE EMPLOYEE ADD CONSTRAINT EMP_UQ UNIQUE (EMP_ID, EMP_LAST_NAME, EMP_FIRST_NAME) REFERENCED COLUMN LIST;

上述语句将导致ORA-30726错误,因为UNIQUE不是主键约束,所以无法在ALTER TABLE … ADD CONSTRAINT语句中指定REFERENCED COLUMN LIST。

一般处理方法及步骤

要正确地改变表EMPLOYEE并添加唯一约束,则运行以下SQL语句:

ALTER TABLE EMPLOYEE ADD CONSTRAINT EMP_UQ UNIQUE (EMP_ID, EMP_LAST_NAME, EMP_FIRST_NAME);

香港美国云服务器首选后浪云,2H2G首月10元开通。
后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

THE END