Oracle
我的桌子存在一半。放不下
我有一張桌子佔用了相當多的空間,即使它沒有行。我前段時間也放下了。當我現在嘗試刪除它時,它說該表不存在。
它顯示在 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"
只要您有一個以小寫字母或空格 (!) 命名的數據庫對象,就會使用雙引號。