小编Mar*_*ged的帖子

从随机数量的结构相同的表中选择

我正在沿着不利的设计路线进行编程。我对架构没有影响,因为它属于现成的标准软件。

为简单起见,假设该软件存储多个用户的地址簿。每个表都分配有相应用户的名称。

这些表是这样创建的:

CREATE TABLE
    NAME_OF_USER
    (
        SURNAME VARCHAR(100),
        TOWN VARCHAR(100)
    )
Run Code Online (Sandbox Code Playgroud)

所以所有表都有这些列:

存在相当于两个地址簿的两个表:

  • 唐老鸭
  • 雏菊鸭

通讯录已经填写如下:

INSERT
INTO
    DONALDDUCK
    (
        SURNAME,
        TOWN
    )
    VALUES
    (
        'Dagobert Duck',
        'Entenhausen'
    )
Run Code Online (Sandbox Code Playgroud)

为了检索我可以运行的完整地址列表

Select * from donaldduck
Select * from daisyduck
Run Code Online (Sandbox Code Playgroud)

但是如果有人为 GOOFY 添加地址簿怎么办?我将不得不更改每个新创建的地址簿的查询,在本例中添加 aSELECT * FROM GOOFY作为第三行。

为了使这更加复杂,还有其他具有不同设置的表(它们正在存储其他信息,这些信息与我列出给定地址簿中的所有条目的任务完全无关)。所以我不能简单地遍历所有现有的表,因为这会导致处理我在查询中不需要的表。

有没有办法说“从包含名为城镇的列的所有表中选择 *”?这应该通过使用普通 SQL 或 PL/SQL 来解决,因为我想避免使用高级语言编写代码,就像我认为我需要遵循 jsapkota 的建议来做。

oracle oracle-11g-r2 plsql

6
推荐指数
2
解决办法
158
查看次数

标签 统计

oracle ×1

oracle-11g-r2 ×1

plsql ×1