google-bigquery - 在 BigQuery 界面中使用变量名称创建表
问题描述
我正在尝试编写一个可以存储为过程的 BigQuery 脚本,我希望我传递的参数之一用于脚本写出的表名中,例如:
DECLARE id STRING;
SET id = '123';
CREATE OR REPLACE TABLE test.id AS(
SELECT * FROM dataset.table
)
但是,在此示例中,表是使用名称id
而不是“id”变量的值创建的123
。有什么方法可以使用 BigQuery UI 中声明的变量的值动态创建表?
解决方案
concat
如果您知道表模式,为什么不直接使用 Execute Immediate呢?
EXECUTE IMMEDIATE CONCAT('CREATE TABLE `', id, '` (column_name STRING)');
推荐阅读
- erlang - 为什么我的 gen_server 不尊重模式匹配?
- list - 您如何从列表中提取随机数并将它们放入另一个列表中
- html - 自定义 HTML 元素:on-accept 属性
- html - 无法使用 python PDFKIT 创建 pdf 错误:“OSError:找不到 wkhtmltopdf 可执行文件:“b''”:“
- python - 用 .format 替换 dict 中存在的所有参数(所有字符串)
- python - 将列表索引与字符串匹配以创建工作卡组
- android - Web Audio API equivalent for iOS, Android, React Native?
- list - Create dynamic list for expansion tile from Firestore data
- python - Additional characters being added by replace method while reading and writing files in Python
- c - 如何通过管道将多个字符串从父进程发送到子进程?