Hi, you can do like this: ```java val statementSet = tableEnv.createStatementSet() val insertSqlBuffer = ListBuffer.empty[String]
val calciteParser = new CalciteParser(SqlUtil.getSqlParserConfig(tableEnv.getConfig)) sqlArr .foreach(item => { println(item) val itemNode = calciteParser.parse(item) itemNode match { case sqlSet: SqlSet => { configuration.setString(sqlSet.getKeyString, sqlSet.getValueString) } case _: RichSqlInsert => insertSqlBuffer += item case _ => { println(item) val itemResult = tableEnv.executeSql(item) itemResult.print() } } }) // execute batch inserts if (insertSqlBuffer.size > 0) { insertSqlBuffer.foreach(item => { println("insert sql: " + item) statementSet.addInsertSql(item) }) val explain = statementSet.explain() println(explain) statementSet.execute() } ``` > On Oct 26, 2021, at 11:27, 刘建刚 <liujiangangp...@gmail.com> wrote: > > I have multi batch SQL commands separated by semicolon(;). The SQL commands > need to be executed in order(In other cases, the SQL command may share > sources or sinks). I want to execute them in one job. When I use > tableEnv.executeSql(multiSQL), it will throw errors. How can I execute them > in one job? Thanks.