我有一个储存程序,执行3个insert/select,在Snowflake3个不同表格中填写了3个表格:附表Union、附表Union1、附表Union2。 现在,由于每次发言要完成的时间,也就是要在执行发言的同时,缩短总体执行时间。 为此,Im试图利用Promise.all。 我不想在这里张贴所有发言稿,但这一样本很好地反映了我为什么要这样做:
CREATE OR REPLACE procedure etl."JimTest" ()
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS
$$
async function runSQL(sqlarray) {
snowflake.execute({ sqlText: sqlarray.sqltask } );
}
async function executeQuery() {
sql1 = `INSERT into ScheduleUnion Select.....`
sql2 = `INSERT into ScheduleUnion1 Select.....`
sql3 = `INSERT into ScheduleUnion2 Select.....`
const queries = [
{sqltask: sql1},
{sqltask: sql2},
{sqltask: sql3}
];
const sqlTasks = queries.map(runSQL);
await Promise.all(sqlTasks);
}
executeQuery();
return done ;
$$
然而,我仍然看到我以连续方式插入一份声明: