Stored procedures BigQuery存储过程中的记录类型

Stored procedures BigQuery存储过程中的记录类型,stored-procedures,google-analytics,google-bigquery,stored-functions,Stored Procedures,Google Analytics,Google Bigquery,Stored Functions,我想知道BigQuery中是否存在记录数据类型?我试图迭代表中存在的许多记录。想法是将记录提取到记录/游标中,然后逐个处理它们 在这里,我需要从ga_sessions_*表中删除GDPR记录。我们将要删除的用户存储在表gdpr_remove_记录中 因此,我喜欢调用一个存储过程,该存储过程为表中的每个记录调用。这是我的sudo代码 DECLARE project_name STRING DEFAULT 'my_project'; DECLARE data_set_name

我想知道BigQuery中是否存在记录数据类型?我试图迭代表中存在的许多记录。想法是将记录提取到记录/游标中,然后逐个处理它们

在这里,我需要从ga_sessions_*表中删除GDPR记录。我们将要删除的用户存储在表gdpr_remove_记录中

因此,我喜欢调用一个存储过程,该存储过程为表中的每个记录调用。这是我的sudo代码

 DECLARE project_name    STRING  DEFAULT 'my_project';
    DECLARE data_set_name   STRING  DEFAULT 'my_data_set';
    DECLARE table_name      STRING  DEFAULT 'ga_sessions_';
    DECLARE v_sql STRING;
    DECLARE v_error STRING;
    
    DECLARE v_hashedEmail,v_date STRING;
    
    --This one I like to declare as record
    set (v_hashedEmail, v_date) =  ARRAY(select  AS STRUCT hashedEmail,format_date('%Y%m%d',date) from `eurostar-analytics.LOGGING.gdpr_remove_records`));
     
    WHILE RECORD%ROWEXIST DO
    call `my_project.my_data_set.gdpr_delete_user_data_prc`(project_name,data_set_name,table_name,v_date,v_hashedEmail,v_sql,v_error);
 END WHILE
注意:这里存储过程gdpr_delete_user_data_prc删除hashedmail和ga_session_v_date的给定行

我不确定的是如何定义记录类型&在其中存储源表输出,并在WHILE循环中使用该记录类型

提前感谢您的指导。

中的BigQuery记录与STRUCT相同

可以使用默认值来避免指定整个类型,如:

声明my_var DEFAULT ARRAYselect为STRUCT hashedEmail,格式为'Y%m%d',日期来自'eurostar analytics.LOGGING.gdpr_remove_records'; 声明索引默认值为0; 而索引
数组

谢谢。我将如何使用我的_var进行迭代?更新了我的答案再次感谢。那正是我要找的。