我习惯使用BigQuery网络用户界面来运行查询。我想从数据集中的所有表中删除一些特定的行。我想通过一次性运行所有删除查询来做到这一点,如下所示:
DELETE FROM `dataset_name.tabl_name_1` WHERE REGEXP_CONTAINS(user_dim.user_id, r'g_1478_h_1.') = TRUE;
DELETE FROM `dataset_name.tabl_name_2` WHERE REGEXP_CONTAINS(user_dim.user_id, r'g_1478_h_1.') = TRUE;
DELETE FROM `dataset_name.tabl_name_3` WHERE REGEXP_CONTAINS(user_dim.user_id, r'g_1478_h_1.') = TRUE
Run Code Online (Sandbox Code Playgroud)
几乎有500张桌子。因此,一次将有500个查询要运行。我未选中“使用旧版Sql”选项。
但是在运行以上查询(几乎500个)时返回错误:
语法错误:意外的关键字DELETE位于[2:1]
我的问题有什么解决办法吗?
您不能在BigQuery网络用户界面中执行此操作!
最好的选择是使用BigQuery client您的首选项并编写那些重复的语句的脚本
牢记quotas/limitationDML
编辑(2019年10月):
Beta版中现在支持脚本和存储过程。您可以提交用分号分隔的多个语句,BigQuery现在可以运行它们。
| 归档时间: |
|
| 查看次数: |
5180 次 |
| 最近记录: |