我正在使用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'))
答案 0 :(得分:3)
我找到了正确的语法:
connection.execute_query('exec storedProcedureName @Id=1')
答案 1 :(得分:3)
对于使用较新版pymssql
的用户,您可以使用以下参数调用过程:cursor.callproc('storedProcedureName', (1,))
其中第二个参数是所需参数的元组。