如何1次执行多条SQL语句

假设有多条这样的语句:

select T_JGDM_20160811.JJLX from T_JGDM_20160811 where rownum < 30;
select T_JGDM.JJLX from T_JGDM where rownum < 30;
...

我们可以将其归纳为select xxx from yyy的这种格式,如何在Python中1次执行多条这样的语句,其中xxx和yyy为可变的。

阅读 19.7k
4 个回答

可以将xxx和yyy提取出来当成变量

pram = [
    (1111, 2222),
    (2222, 3333)
    ...(自己补充)
]
for table, db in pram:
    sql = 'select %s from %s' % (table, db)
    print sql # 此处自行替换具体代码

都是返回一个字段,可以使用union

select id from table1
union
select name from table2

如果是执行其他的操作,如果删除增加更新等,你可以尝试些存储过程.

以下是思路:
创建数据库函数,利用动态sql拼接,返回一个结果function(xxx,yyy).
function(xxx, yyy)内,return select xxx from yyy.

py使用:

select function(x1, y1), function(x2,y2);

可以创建存储过程,然后调用存储过程

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题