检查是否存在多个表

时间:2019-09-06 08:41:10

标签: sql oracle

这个想法是选择2列表示表名的响应和一个布尔标志(如果它存在于数据库中的预定义表列表中)。可以在单个查询中发出这样的请求吗?

1 个答案:

答案 0 :(得分:1)

您可以使用USER_TABLES词典视图。 该视图包含当前用户拥有的所有表的详细信息。

您可以使用以下查询获得所需的结果:

WITH PREDEFINED_LIST_TABLES AS
(SELECT 'TABLE1' TABLE_NAME FROM DUAL UNION ALL
....
....)
SELECT P.TABLE_NAME , 
CASE WHEN U.TABLE_NAME IS NOT NULL THEN 1 ELSE 0 END AS TAB_EXISTS
FROM PREDEFINED_LIST_TABLES P 
LEFT JOIN USER_TABLES U
ON (P.TABLE_NAME = U.TABLE_NAME);

干杯!

相关问题