这个想法是选择2列表示表名的响应和一个布尔标志(如果它存在于数据库中的预定义表列表中)。可以在单个查询中发出这样的请求吗?
答案 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);
干杯!