有人能建议,如何在BigQuery中借助列名找到对象名称?
在Teradata中,我们可以获得对象(在所有数据库中),其中使用dbc.columnsv使用的特定列。我们可以在dataset.INFORMATION_SCHEMA.COLUMNS中使用BigQuery查找这样的对象列表。但是,它将给出属于一个特定数据库的对象名称。那么,我的问题是如何在all数据库中找到所有对象,在BigQuery中使用一个特定的列?
提前谢谢。
发布于 2021-09-18 11:03:34
这应该能行
DECLARE
col_to_search string DEFAULT "col1";
DECLARE
sql_stmts string;
SET
sql_stmts = (
SELECT
ARRAY_TO_STRING((
SELECT
ARRAY (
SELECT
CONCAT("SELECT * FROM `",sc.catalog_name,"`.",schema_name,".INFORMATION_SCHEMA.COLUMNS WHERE column_name = ","'",col_to_search,"'")
FROM
`planar-effect-325211`.INFORMATION_SCHEMA.SCHEMATA sc ))," UNION ALL ") );
EXECUTE IMMEDIATE sql_stmts;https://stackoverflow.com/questions/69225843
复制相似问题