繁体   English   中英

Oracle:即使没有约束或索引,“重命名”列也会给出“ ORA-00903:无效的表名”错误

[英]Oracle: Rename column gives “ORA-00903: invalid table name” error even when no constraint or index is there

RENAME COLUMN table-Name.simple-Column-Name TO simple-Column-Name

当我尝试重命名列时,我在所有列上都收到以下错误消息:

RENAME COLUMN EMP_NEW.EMPLOYEE_ID TO EMPLOYEEID
Error report -
ORA-00903: invalid table name
00903. 00000 -  "invalid table name"
*Cause:    
*Action:

以下是版本

Oracle Database 12c Release 12.1.0.1.0 - 64bit Production
PL/SQL Release 12.1.0.1.0 - Production
"CORE   12.1.0.1.0  Production"
TNS for IBM/AIX RISC System/6000: Version 12.1.0.1.0 - Production
NLSRTL Version 12.1.0.1.0 - Production

有什么建议如何解决这个问题? (请注意,我已经从某些现有表创建了结构,没有复制任何内容,即没有索引,没有约束,所以很简单)

正确的语法是

ALTER TABLE table_name RENAME COLUMN old_name TO new_name;

使用以下内容。 但请确保您用于登录的架构中存在EMP_NEW表

ALTER TABLE EMP_NEW RENAME COLUMN EMPLOYEE_ID TO EMPLOYEEID;

编辑

不要使用此语法,这是derby语法,请使用@Gro答案( alter table

确保表与用户使用的方案不同,或使用方案名称。

另外,请确保没有任何打开的游标引用该列

限制:如果有任何打开的游标引用正在更改的列,则不允许RENAME COLUMN语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM