簡體   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