在BigQuery中,可以使用关键词@run_date来安排在外部分区表上运行查询的计划。以下是一个使用@run_date的代码示例:
DECLARE run_date DATE DEFAULT CURRENT_DATE();
EXECUTE IMMEDIATE '''
SELECT *
FROM `project.dataset.partitioned_table`
WHERE _PARTITIONDATE = @run_date
'''
USING run_date;
在这个示例中,我们声明了一个变量run_date,并将其设置为当前日期。然后,我们使用EXECUTE IMMEDIATE语句来动态执行查询。查询中的@run_date将在运行时被替换为实际的日期值。
同时,我们使用USING子句来传递变量run_date的值给查询。这样可以确保查询中的参数值是安全的,并且可以防止SQL注入攻击。
在这个示例中,我们假设存在一个名为project.dataset.partitioned_table
的外部分区表,其中的分区字段为_PARTITIONDATE。我们使用@run_date来过滤出与当前日期相匹配的分区。
请注意,@run_date只能在动态SQL查询中使用,而不能在静态SQL查询中使用。