sql - 在 BigQuery 中,我们可以从子查询或函数中而不是静态地设置列的描述元数据吗?
问题描述
我知道我们可以通过在创建表时静态定义值来设置列描述,即
Create Table table_name (
member_id int64 options(description = "Unique system-generated ID for a member")
...
);
但是是否可以动态设置描述?我想做这样的事情-
Create table table_name (
member_id int64 options(description = (Select "some query" From some_table))
);
这让我看到了一大堆选项,特别是根据另一个表的列描述使用 INFORMATION_SCHEMA.COLUMN_FIELD_PATHS 动态设置描述,而不必为每个表手动设置每个列的描述。Expected constant expression but found unsupported statement or clause; failed to evaluate 'description' in OPTIONS
但是,我在运行上述程序时收到一条错误消息。
我尝试的另一件事是创建和调用一个函数,即
Create Temp Function get_description(string col_name) AS (
(Select "some query"
From some_table
Where column = col_name)
);
Create table table_name (
member_id int64 options(description = (get_description("member_id")))
);
但这会引发类似的错误消息。
如果两者都不可能,我仍然可以使用一个函数并简单地为每一列声明和设置变量。但是我的一些表将有超过 40 列,所以如果我可以避免为每个列描述声明和设置一个变量,那将是理想的。
解决方案
推荐阅读
- android - 在 Android 画布中绘制包含 HTML 代码的 StaticLayout 文本
- ios - iOS 图表,从图表中隐藏地图
- javascript - 内容未从 react-router 链接加载
- javascript - jquery模态褪色问题
- android - 抽屉菜单汉堡按钮在创建时不起作用
- android - 不重试获取应用设置:admob
- reactjs - React Office UI Fabric - hoverCard 模式
- java - java --version 显示 10 但已安装 java 11
- php - 如何正确调用基类构造函数
- javascript - 在sqlite中插入对象的方法?