在Big query存储过程中,如果想要使用表名作为参数,在调用存储过程时会出现错误。为了解决这个问题,可以在存储过程内部使用动态SQL来引用表名参数。
以下是一个示例代码,展示了如何使用动态SQL来解决这个问题:
CREATE PROCEDURE myProcedure(IN table_name STRING)
BEGIN
DECLARE query_string STRING;
SET query_string = "SELECT * FROM " || table_name || "
";
EXECUTE IMMEDIATE query_string;
END;
在这个示例中,我们创建了一个存储过程myProcedure,并在参数列表中传入了table_name参数。在存储过程内部,我们先声明一个query_string字符串变量,并将其赋值为一个包含table_name参数的动态SQL语句。
然后,我们使用EXECUTE IMMEDIATE命令来执行这个动态SQL语句,并从传入的表名中检索数据。
通过这种方法,我们可以在Big query存储过程中使用表名作为参数,并避免出现错误。