Oracle:表格:所有表格|所有专栏|不同的价值观

时间:2014-03-02 13:37:46

标签: sql oracle select join

我正在尝试创建一个包含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

1 个答案:

答案 0 :(得分:0)

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