【问题标题】:Oracle: Table with: All Tables | All Columns | distinct valuesOracle:表与:所有表 |所有栏目 |不同的价值观
【发布时间】:2014-03-02 13:37:45
【问题描述】:

我正在尝试创建一个包含 3 列的选择。它应该将表名存储在第一列中,将适当的列存储在第二列中,并将来自适当表/列的不同值存储在第三列中。

正如您在下面看到的那样,我成功了第一行,但我一直无法获得适当的第三行。

有人能帮我解决这个问题吗?

SELECT
    dba_tab_columns.table_name,
    dba_tab_columns.column_name
FROM
    dba_tab_columns 
JOIN 
    dba_tables on dba_tables.table_name = dba_tab_columns.table_name

【问题讨论】:

  • 与适当的表/列不同的值是什么意思?你的意思是所有表的所有列中存储的所有值吗?

标签: sql oracle select join


【解决方案1】:

您无法在静态 sql 中将表名设为动态变量,因此您无法获取第三列。您需要动态生成完整的 sql,请参见此处: http://www.sommarskog.se/dynamic_sql.html 然后用 sp_executesql 之类的东西执行 sql。虽然我真的不明白这一点。

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2021-07-23
    相关资源
    最近更新 更多