Magic-Api多SQL执行

1.需求背景

跑批任务往往需要传递简单的参数,多个SQL一起执行,输出结果到一个结果表中。中间的过程不需要经过Magic服务,直接数据库完成数据处理。默认情况下Magic-api每次只能执行一条SQL语句,这个处理函数就帮助方便执行多SQL。

2.实现方式

通过传递的SQL块,拆分成多个SQL,循环执行。

import log;
import java.util.regex.Pattern;

var sql_list = sqlscript.split(";");
var regx = /^(create|drop|update|insert|alter|rename|delete|truncate)/

sql_list.each(sql=>{
    tmp_sql = sql.replace('\n','').replace('\r','').replace('\t','').replace(' ','')
    
    if(regx.test(tmp_sql.toLowerCase())){
        String patern = "\\#\\{([^}]*)\\}";
        Pattern pattern = Pattern.compile(patern);
        Matcher matcher = pattern.matcher(sql);
        while (matcher.find()) {
            //log.info(matcher.group());
            if (params && !params.get(0)[matcher.group()::string.replace("#{",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值