2013-04-15 73 views
-1

我在Oracle中有一个名为CONTACT_DATA的表,它有一个名为NUMBER的列。我想重命名这个领域然而PHONE_NUMBER,下面不起作用,因为NUMBER是Oracle的保留字:重命名为保留字的列

ALTER TABLE CONTACT_DATA RENAME COLUMN NUMBER TO PHONE_NUMBER; 

我已经看了这些论坛上,发现如何选择和顺序由列这是一个保留字。但是,在这种情况下,我宁愿重命名该列。此外,我想保留现有的数据,以便删除表并重新创建它不是一个选项。我正在使用Oracle版本11.2任何人都可以帮忙吗?

+0

您是否尝试使用与在您的语句中选择或排序以重新命名时相同的方法?在所有情况下,您都需要将其转义,以免将其视为关键字。 –

回答

2

你试过:

ALTER TABLE CONTACT_DATA RENAME COLUMN "NUMBER" TO PHONE_NUMBER; 

Oracle使用双引号作为用于此目的的转义字符。

+1

所有符合标准的DBMS都使用双引号引用保留字 - 不仅仅是Oracle。 –

+0

感谢您的帮助! –