【发布时间】:2021-10-13 06:13:49
【问题描述】:
我想从数据库中查询一个存在于任一表中的对象。我不确定特定对象所属的表名。例如假设我的数据库由各种表组成,例如 Domestic_Passengers、Asian_Passengers、US_Passengers。并且这个表列表可能会增加,就像将来我们可能会添加 UK_Passengers 表一样。
所以,我想查询类似的东西
SELECT * FROM
(SELECT table_name FROM user_tables where table_name like '%PASSENGER')
WHERE NAME LIKE 'John%'
这可能吗?
【问题讨论】:
-
我强烈建议您使用带有“区域”列的单个“乘客”表。然后,您可以创建“视图”,例如,按区域分隔权限。在不知道其名称的情况下查询表可能会变得混乱且不安全。
-
数据库已在使用中。我只是举了一些例子。它是生产中的重型数据库。无法更改。
-
创建一个包含所有表的
union的视图并针对它执行查询。无论如何,您不能使用select *进行动态查询,因为每个表都有自己的结构。而且这个查询毫无意义 -
你怎么知道在哪里加入表格?