我正在两个表中重命名两列,这两列都被命名为LEVEL,这是一个保留字。
让我感到困惑的是,我在这两个表上运行相同的命令,但只有其中一个失败。以下是命令:
--this works
ALTER TABLE notificationsubscriptions RENAME COLUMN "LEVEL" TO nlevel;
--this doesn't
ALTER TABLE notifications RENAME COLUMN "LEVEL" TO nlevel;
第二个语句导致以下错误:
Error starting at line : 9 in command -
ALTER TABLE notifications RENAME COLUMN "LEVEL" TO nlevel
Error report -
SQL Error: ORA-00900: invalid SQL statement
00900. 00000 - "invalid SQL statement"
*Cause:
*Action:
这两列的数据类型(编号)相同。我很困惑 - 为什么这个命令对其中一个表有效而对另一个表不起作用?
数据库正在运行Oracle 10.2。
答案 0 :(得分:1)
尝试从索引和/或外键约束中删除此列上存在的任何链接