我正在尝试编写一个可以存储为过程的 BigQuery 脚本,我希望在脚本写出的表名中使用我传递的参数之一,例如:
DECLARE id STRING;
SET id = '123';
CREATE OR REPLACE TABLE test.id AS(
SELECT * FROM dataset.table
)
Run Code Online (Sandbox Code Playgroud)
但是,在此示例中,表是使用名称id而不是“id”变量的值创建的123。有什么方法可以使用 BigQuery UI 中声明的变量的值动态创建表?
小智 8
concat如果您知道表架构,为什么不直接使用 Execute Immediate呢?
EXECUTE IMMEDIATE CONCAT('CREATE TABLE `', id, '` (column_name STRING)');
Run Code Online (Sandbox Code Playgroud)
到目前为止,我们已经正式发布了BigQuery 脚本文档,该文档仍处于 Beta 阶段,利用动态参数(变量)作为 SQL 查询中值的占位符。但是,根据BigQuery文档中的参数化查询,查询参数不能用于 SQL 对象标识符:
参数不能用作标识符、列名、表名或查询的其他部分的替代。
| 归档时间: |
|
| 查看次数: |
6251 次 |
| 最近记录: |