Удалить базу данных под названием «Пользователь» из Oracle - PullRequest
1 голос
/ 02 ноября 2010

Хорошо, вот что случилось ...

В одном из моих колледжей в Oracle XE 10g был запущен скрипт, который создал несколько таблиц, включающих одну таблицу с именем «Пользователь». Теперь мы не можем отказаться от этой таблицы, мы получаем ORA-00903 каждый раз, когда запускаем:

DROP TABLE USER CASCADE CONSTRAINTS

То же самое происходит, когда мы пытаемся выполнить какой-либо запрос на изменение (это означает, что переименование не работает)

Кто-нибудь знает, как с этим бороться?

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Ренди прав, предлагая цитируемые идентификаторы.Однако обратите внимание, что идентификаторы в кавычках чувствительны к регистру .

Сначала запросите ALL_TABLES или USER_TABLES, чтобы найти чувствительное к регистру имя этой таблицы, и используйте это имя в выражении, например

DROP TABLE "User";

или

ALTER TABLE "User" RENAME TO TBL_USERS;
2 голосов
/ 03 ноября 2010

Вы пробовали полностью пройти отбор с кавычками:

drop table "myschema"."user"
...