【发布时间】:2022-11-16 09:08:30
【问题描述】:
我正在 Bigquery 中创建一个过程,我想向它传递一个参数,在本例中是表的名称。但是如果没有传递给过程,它会默认分配一个值。
这就是我目前拥有的:
CREATE OR REPLACE PROCEDURE `MY_DATASET.MY_PROCEDURE`(tableName STRING)
BEGIN
DECLARE tableName STRING DEFAULT "MY_TABLE";
DECLARE queryString STRING;
SET queryString = SELECT * FROM MY_DATASET.tableName;
END;
这是它目前向我显示的错误:
Variable 'tableName' previously declared as an argument
如果我不向过程传递任何参数,则查询如下:
SELECT `MY_DATASET.MY_PROCEDURE`();
queryString = SELECT * FROM MY_DATASET.MY_TABLE;
但是如果我将一个表传递给过程,我需要它来创建以下查询:
SELECT `MY_DATASET.MY_PROCEDURE`('TABLE_TEST');
queryString = SELECT * FROM MY_DATASET.TABLE_TEST;
【问题讨论】:
标签: google-bigquery