0
A
回答
1
Oracle有一個all_tables
表,你可以查詢看看。
也許是這樣的:
declare
v_tab_count number := 0;
begin
select count(*)
into v_tab_count
from all_tables
where table_name = 'MY_TABLE';
if v_tab_count > 0 then
execute immediate 'drop table my_table';
else
dbms_output.put_line('The table isn''t there! maybe you deleted it already?');
end if;
exception
when others then
dbms_output.put_line(sqlerrm);
end if;
/
我知道我剛纔在別人的帖子評論說,我不喜歡使用execute immediate
這一點,但我忘了這是執行drop table
的唯一途徑來自PL/SQL。
1
2
http://www.dba-oracle.com/bk_check_table_exists.htm
這裏有給出不同的解決方案。最簡單的:
SQL>遞減MYTABLE
或者只是嘗試刪除並捕獲異常:
begin
execute immediate 'drop table TABLE1';
exception when others then null;
end;
+0
DROP替代方案真的很糟糕,忽略了一個顯而易見的事實,即想知道表是否存在是最常見的事情,因爲它想要擁有它! – Mirvnillith 2012-12-20 06:47:15
相關問題
- 1. 確定ORACLE表中是否存在字段的快速方法
- 2. 確定Oracle日期是否在週末?
- 3. 檢查Oracle表是否與Puppet存在
- 4. 使用SQL查詢,以確定是否一個表存在
- 5. PySVN - 確定是否存在存儲庫
- 6. Oracle - 如何確定表是否是TDE加密
- 7. 確定html表中是否存在確切的行
- 8. 確定是否在emberjs存在模板
- 9. 如何確定Crystal報表中是否存在自定義Ufl?
- 10. 確定文件夾是否存在?
- 11. 確定是否存在選擇
- 12. 確定元素是否存在
- 13. 確定是否存在XDocument文件
- 14. NSTextView確定是否存在NSTextAttachment
- 15. 確定Node.js中是否存在SQLite行
- 16. 確定鄰居是否存在?
- 17. LINQ,以確定是否孩子存在
- 18. SQL查詢,以確定Oracle空間表是否包含曲線
- 19. 如何確定Oracle表是否設置了ROWDEPENDENCIES選項?
- 20. 確定表存在
- 21. 確定存儲過程是否存在於任何地方?
- 22. 確定執行EF遷移時是否存在表格
- 23. Tapestry,確定表單是否存在tml中的錯誤
- 24. 確定一個文件列表是否存在於Haskell
- 25. 確定表單上是否存在字段
- 26. MySQL:確定多個表中是否存在日期
- 27. 確定SQL Server CE中是否存在表?
- 28. 在Oracle中創建它之前檢查表是否存在
- 29. 在多個用戶的oracle/oracle表單中驗證數據是否存在
- 30. 確定Web存儲是否受支持
太好了! User_Tables和All_tables(如果2個用戶具有相同的表,則計數可以爲2)使用User_tables會更好嗎? – kalls 2011-06-15 17:56:44
@ kalls:你可以在all_tables或user_tables的查詢中添加一些額外的條件? – FrustratedWithFormsDesigner 2011-06-15 18:10:24