将参数化查询从psycopg2转换为pyodbc

时间:2017-10-03 13:29:20

标签: python psycopg2 pyodbc

我使用psycopg2代码打开一个sql文件(postgresql),并将LIMIT的值作为参数传递给我的代码。它工作正常。以下是一些代码: 。

cur.execute(open("sample.sql","r").read(),(lim,))

我的sample.sql创建了一个名为sample的表,并使用另一个名为test

的表中的一些数据填充它
CREATE TABLE sample(name varchar(500));
INSERT INTO sample(name) SELECT name FROM test LIMIT %s;

%s获取从lim

传递的值cur.execute

我的问题是:如何将其转换为pyodbc代码,以便在sql server中使用它?

1 个答案:

答案 0 :(得分:0)

psycopg2和pyodbc都实现了Python的DB API,该规范定义了几个可以使用的parameter styles。 psycopg2和pyodbc的开发人员只选择了不同的风格:

psycopg2使用"格式"占位符:... WHERE city = %s

pyodbc使用" qmark"占位符:... WHERE city = ?