在Postgres information_schema
中,有一个名为view_column_usage
的视图(请参见下图)。
这为我提供了有关在特定视图中将哪些表和列用作每个表和列的一行的信息。
MySQL / MariaDB是否有类似的东西?
我看到了VIEW_TABLE_USAGE
和COLUMNS
视图。如果将它们组合在一起,几乎可以得到所需的信息,但是由于我为列名使用了很多别名,因此无法获得全部信息。
下图显示了我的测试示例,其中我创建了test_view
并将table1
与table2
组合在一起。在视图中,我为table2.column1
使用了别名。使用合并的信息(VIEW_TABLE_USAGE
和COLUMNS
),我将得到column1
可能来自table1
或table2
且t2_column1
未链接完全没有。
我通过简单的查询尝试了此操作,它似乎运行良好,但我的实际用例包含各种语句,例如WITH
,CASE WHEN
,...使“现有”解析器感到困惑。