sicp4sqlparmselectjson.py for emedit

import sys,re

lines=[]
def loaddblist(lines):


    sqllist = []
    x=0
    sql=''
    parm=''
    sqllist=[]
    parmlist=[]
    parmlisttmp = []
    #循环处理oldselect每行sql的每个表
    for line in lines:
        # line=line.replace('"','')[0:-1]
        # if not line:
        #     break
        i=line.split(':')
        if len(i)<2:
            # fnew.write(line)
            print(line + ';\r\n')
            continue
        coltype = i[0]
        colstr=line.replace(coltype+':','')
        if coltype.find('Preparing')>0:
            sql=colstr
        elif coltype.find('Parameters')>0:
            # parmlisttmp=colstr.split(',')
            for parmrow in colstr.split('),'):
                # print(parmrow)
                if parmrow.find('(String') > 0:
                    # parm = '\'' + parmrow.replace('(String', '').strip() + '\''
                    parm = re.sub('\(.*', '', parmrow).strip()
                    parm = '\'' + parm + '\''
                    parmlist.append(parm)
                    sql = sql.replace('{', '{{').replace('}', '}}').replace('?', '{}', 1).format(parm)
                # elif  parmrow.find('(Long)')>0:
                else:
                    # parm= parmrow.replace('(Long)','').strip()
                    parm = re.sub('\(.*', '', parmrow).strip()
                    parmlist.append(parm)
                    sql = sql.replace('{', '{{').replace('}', '}}').replace('?', '{}', 1).format(parm)
                # print(sql + ';\r\n')

            print(sql+';\r\n')
            # print(sql)
        else:
            print(line + ';\r\n')



        # sqllist.append([chartid,dbuser,dbpass,dbconn,baoleijiip])
        x += 1
    # fnew.close()
    # f.close()


    # return sqllist


# try:
#     bs_code = sys.argv[1]
# except Exception:
#     print("未输入")
#     exit(0)
a=''
try:
    while True:
        a=input()
        lines.append(a)
        # print(a)
except  EOFError:
    pass

# print(lines)
loaddblist(lines)

#输入input内容  文件内容
# ==>  Preparing: SELECT * FROM aza9 T WHERE T.AAZ176=?
# ==> Parameters: 5000100426435911(String)
# <==      Total: 0
#
# ==>  Preparing: SELECT * FROM aza9 T WHERE T.AAZ176=?
# ==> Parameters: 5000100426435911(String)
# <==      Total: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值