Pymssql:使用参数调用存储过程

时间:2009-12-28 20:03:17

标签: python sql-server-2005 stored-procedures

我正在使用pymssql对SQL 2005数据库进行数据库调用。我想将参数传递给存储过程。我很难获得正确的语法。这是我调用没有参数的过程的原因:

import _mssql
connection = _mssql.connect(server='myserver', database='mydatabase', trusted=True)
connection.execute_query('storedProcedureName')

假设我想将@Id参数设置为1.我该怎么做?以下行不起作用。关于params的结构,文档尚不清楚。

connection.execute_query('storedProcedureName', {'@Id':'1'})
connection.execute_query('storedProcedureName', '@Id=1')
connection.execute_query('storedProcedureName', ('@Id', '1'))

2 个答案:

答案 0 :(得分:3)

我找到了正确的语法:

connection.execute_query('exec storedProcedureName @Id=1')

答案 1 :(得分:3)

对于使用较新版pymssql的用户,您可以使用以下参数调用过程:cursor.callproc('storedProcedureName', (1,))

其中第二个参数是所需参数的元组。