我们试图在BigQuery中使用存储过程执行多条语句,这是一个通用的存储过程,可以为任何表调用,因此需要在任何表上执行动态语句。这是一个通用的存储过程,可以为任何表调用,因此需要在任何表上执行动态语句。
在BigQuery中是否有类似EXEC()的东西来执行动态生成的查询?
是的,我们需要执行动态语句。从5202020开始,BigQuery 释放 动态SQL功能为您实现目标。
动态SQL现在已经作为测试版在所有BigQuery地区推出。动态SQL可以让您在运行时动态地生成和执行SQL语句。更多信息,请看 立即执行.
对于你的情况,你可以有一个通用程序。
CREATE PROCEDURE myTableOperations(tableName STRING) BEGIN EXECUTE IMMEDIATE CONCAT("SELECT col1 FROM ", tableName, " WHERE ..."); ... END