Назад | Перейти на главную страницу

Мой стол наполовину существует. Не могу уронить это

У меня есть таблица, которая занимает довольно много места, хотя в ней нет строк. Я тоже недавно уронил. Когда я пытаюсь отбросить его сейчас, он говорит, что таблицы не существует.

Он отображается в user_tables. Кроме того, все его разделы и индексы отображаются в user_objects.

Его тоже нет в корзине.

Что тут происходит?

РЕДАКТИРОВАТЬ:

Вот результат user_tables:

TABLE_NAME  TABLESPACE_NAME CLUSTER_NAME    IOT_NAME    STATUS  PCT_FREE PCT_USED   INI_TRANS   MAX_TRANS   INITIAL_EXTENT  NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE    FREELISTS   FREELIST_GROUPS LOGGING BACKED_UP   NUM_ROWS    BLOCKS  EMPTY_BLOCKS    AVG_SPACE   CHAIN_CNT   AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS   NUM_FREELIST_BLOCKS DEGREE  INSTANCES   CACHE   TABLE_LOCK  SAMPLE_SIZE LAST_ANALYZED   PARTITIONED IOT_TYPE    TEMPORARY   SECONDARY   NESTED  BUFFER_POOL ROW_MOVEMENT    GLOBAL_STATS    USER_STATS  DURATION    SKIP_CORRUPT    MONITORING  CLUSTER_OWNER   DEPENDENCIES    COMPRESSION COMPRESS_FOR    DROPPED READ_ONLY
jeremy_ALLK             VALID                                                   N                                            8           1      N   ENABLED         YES     N   N   NO      ENABLED NO  NO      DISABLED    YES     DISABLED            NO  NO

Когда я делаю: "drop table jeremy_ALLK", я получаю:

Error starting at line 7 in command:
drop table jeremy_ALLK
Error report:
SQL Error: ORA-00942: table or view does not exist
00942. 00000 -  "table or view does not exist"
*Cause:    
*Action:

Вы попадаете в ловушку чувствительности к регистру имени таблицы. В Oracle все эти команды точно такие же:

drop table jeremy_ALLK
drop table Jeremy_ALLK
drop table JEREMY_ALLK
drop table "JEREMY_ALLK"

Иными словами, имя таблицы по умолчанию «переведено» в верхний регистр. Поскольку в имени вашей таблицы есть строчные буквы, вам нужно будет указать оператор drop следующим образом:

drop table "jeremy_ALLK"

Двойные кавычки используются всякий раз, когда у вас есть объект базы данных, названный строчными буквами или пробелами (!).

ХОРОШО. Проблема заключается в том, что вы создали таблицу с чувствительным к регистру именем таблицы (обратите внимание, что table_name в user_tables находится в смешанном случае). Если вы это сделаете (и я настоятельно рекомендую не делать этого в будущем), вам нужно везде использовать имя таблицы с учетом регистра. Так что ваши DROP TABLE заявление должно быть

DROP TABLE "jeremy_ALLK";