我正在使用pymssql库使用存储过程从MS SQL Server检索数据。 在传递强制参数时,我没有问题。
如何在pymssql中传递可选参数?
我存储的proc有5个参数,其中2个是必需参数,而3个是可选参数。
procedure_connection.cursor.callproc('PROCEDURE_NAME', (mandatory_parameter_1,mandatory_parameter_2))
我必须以什么顺序传递可选参数?
procedure_connection.cursor.callproc('PROCEDURE_NAME', (mandatory_parameter_1,mandatory_parameter_2,optional_parameter_1))
procedure_connection.cursor.callproc('PROCEDURE_NAME', (mandatory_parameter_1,mandatory_parameter_2,optional_parameter_2))
procedure_connection.cursor.callproc('PROCEDURE_NAME', (mandatory_parameter_1,mandatory_parameter_2,optional_parameter_3))
procedure_connection.cursor.callproc('PROCEDURE_NAME', (mandatory_parameter_1,mandatory_parameter_2,optional_parameter_1,optional_parameter_2,optional_parameter_3,))
procedure_connection.cursor.callproc('PROCEDURE_NAME', (mandatory_parameter_1,mandatory_parameter_2))
我想传递可选参数,并确保设置了正确的参数而不是其他参数。
答案 0 :(得分:2)
使用“ EXEC”命令调用存储过程,该命令使您可以确定要使用的参数:
sql = """EXEC PROCEDURE_NAME @mandatory_parameter1=?, @mandatory_parameter2=?, @optional_parameter3=?"""
params = (mandatory_parameter1_value, mandatory_parameter1_value, optional_parameter3_value)
procedure_connection.cursor.execute(sql, params)