【发布时间】:2016-03-14 21:00:52
【问题描述】:
我有一个 python 文件,其中包含一堆 sql 查询,具体取决于传递的参数示例如下:
if args.monitor == 'Argument One':
sql_query = """select a, b, c from tableA where a = 123"""
elif args.monitor == 'Argument Two':
sql_query = """select d, e, f from TableA where d = 456"""
elif ....
对于大约 10 个具有不同复杂性的不同查询继续进行。
显然,这会使代码变得一团糟,并且更新和/或添加 SQL 查询涉及到大量代码。我想做的是将查询/参数分成某种字典。是否可以为此目的使用配置文件,我可以执行以下操作?
[query]
Argument A = select a, b, c from tableA where a = 123
Argument B = select d, e, f from TableA where d = 456
然后通过 ConfigParser 调用。我担心有些查询很长(最多 10 行),那么我将如何在配置文件中表示呢?
或者我是否将每个查询保存为ArgumentA.sql,然后列出目录,如果参数匹配则使用该sql?
以前有没有人处理过这样的场景?
【问题讨论】:
-
查询保持人类可读(即带有换行符)重要吗?
-
目的是必须维护它们,所以是的,需要保持人类可读性。
标签: python sql sql-server pyodbc