Pymssql:带参数调用存储过程
我正在使用 pymssql 来访问一个 SQL 2005 数据库。我想把参数传递给一个存储过程,但我在写正确的语法时遇到了困难。下面是我调用一个没有参数的存储过程的代码:
import _mssql
connection = _mssql.connect(server='myserver', database='mydatabase', trusted=True)
connection.execute_query('storedProcedureName')
假设我想把 @Id 参数设置为 1。我该怎么做呢?以下这些代码都不管用。文档里对参数的结构说明得不太清楚。
connection.execute_query('storedProcedureName', {'@Id':'1'})
connection.execute_query('storedProcedureName', '@Id=1')
connection.execute_query('storedProcedureName', ('@Id', '1'))
2 个回答
9
对于使用新版 pymssql
的朋友们,你可以这样调用带参数的存储过程:cursor.callproc('storedProcedureName', (1,))
这里的第二个参数是一个元组,里面包含了所有需要的参数。
3
我找到了正确的写法来做到这一点:
connection.execute_query('exec storedProcedureName @Id=1')