echo Give yearmonth "yyyyMM"
setlocal enabledelayedexpansion
SET /p yearmonth=
SET ClientName[0]=abc
SET ClientName[1]=def
SET i = 0
:myLoop
if defined ClientName[%i%] (
call bq query --use_legacy_sql=false "CREATE EXTERNAL TABLE `test.!ClientName[%%i]!.%yearmonth%` OPTIONS (format = 'CSV',skip_leading_rows = 1 uris = ['gs://test/!ClientName[%%i]!/AWS/%yearmonth%/Metrics/data/*.csv'])"
set /a "i+=1"
GOTO :myLoop
)
Run Code Online (Sandbox Code Playgroud)
您好,我正在尝试创建一个批处理,以便可以一次运行多个大查询。上面我尝试编写一个批处理脚本,将命令放入循环中。
我试图通过使用yearmonth 作为用户输入来创建一个表,然后创建数组来创建一个具有不同客户端名称的表。
但我无法在我正在使用的调用查询中打印 if i =0 ClientName[i] = abc !ClientName[%%i]! 打印但它不起作用。
当我执行bat文件时,循环内的调用查询未在GCP控制台中运行。
你能帮我解决这个问题吗