Teradata中的DBC.Columns与BigQuery中的INFORMATION_SCHEMA.COLUMNS [英] dbc.columns in Teradata vs INFORMATION_SCHEMA.COLUMNS in BigQuery

查看:18
本文介绍了Teradata中的DBC.Columns与BigQuery中的INFORMATION_SCHEMA.COLUMNS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人能建议一下,如何在BigQuery中利用列名查找对象名称吗?

在Teradata中,我们可以通过使用DBC.Columnsv获取对象(在所有数据库中),其中使用了特定的列。 我们可以使用BigQuery中的Dataset.INFORMATION_SCHEMA.COLUMNS来查找这样的对象列表。但是,它将给出属于某个特定数据库的对象名称。因此,我的问题是如何在所有数据库中查找BigQuery中使用某一特定列的所有对象?

提前谢谢。

推荐答案

这应该可以用

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;

这篇关于Teradata中的DBC.Columns与BigQuery中的INFORMATION_SCHEMA.COLUMNS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆