2013-04-15 4 views
-1

У меня есть таблица CONTACT_DATA в Oracle, и у нее есть столбец с именем NUMBER. Я хотел бы переименовать это поле, чтобы phone_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

Все стандартные совместимые СУБД используют двойные кавычки для цитирования зарезервированных слов - не только Oracle. –

+0

Спасибо за помощь! –

Смежные вопросы