pymssql - 获取格式化的sql而不是执行

时间:2016-03-29 21:12:26

标签: python sql-server postgresql

见堂兄帖子:psycopg - Get formatted sql instead of executing

我需要将一些代码从Postgres转换为MS SQL Server。我一直在Python中使用psycopg2来进行所有数据库调用。我在pymssql中找到了一个实际上有一个非常相似的API的simlar库。

缺少的一件事是mogrify电话。简而言之,mogrify会阻止SQL注入,但不会执行。非常适合构建SQL字符串。

是否有类似于pymssql中的mogrify调用的调用?如果没有,是否有一个类似mogrify调用的anohter Python库?如果我找不到任何内容,我会转换我的代码以使用execute / executemany来电,但如果可能的话,我宁愿避免这样做。

1 个答案:

答案 0 :(得分:3)

函数substitute_params在_mssql模块中导出。用法示例:

>>> import pymssql
>>> print pymssql._mssql.substitute_params("SELECT * FROM foo WHERE a = %s", ("quoted ' string",))
SELECT * FROM foo WHERE a = 'quoted '' string'