使用SQL查询来确定表是否存在

Dea*_*mer 14 sql oracle

伙计们有任何其他方法可以确定除下面以外的表格

  1. select count(*) from <table> where rownum =1
  2. select * from user_table where table_name=<table>

请告诉我使用oracle sql检查表是否存在的最佳方法.

谢谢你的答案,我的要求是从当月的第一个日期,即2010年12月1日检查,数据库中存在suresh_20101201格式的表名,如果没有,那么它应该检查表suresh_20101202及其上直到suresh_20101231.是否可以在oracle sql查询中执行.

Dai*_*ius 27

你可以这样做(在oracle中,在mssql中有一点不同):

select count(*)
from all_objects
where object_type in ('TABLE','VIEW')
and object_name = 'your_table_name';
Run Code Online (Sandbox Code Playgroud)

  • +1因为他要求甲骨文.此外,object_name必须是大写的. (3认同)
  • @Thilo:不,Oracle中的对象名称不必是大写的.他们通常是,但他们不一定. (3认同)
  • 他们几乎总是.除非您创建了一个名称在引号中的表(以使其区分大小写),ALL_OBJECTS将使表名大写. (2认同)