Передача необязательных параметров при вызове хранимой процедуры SQL SERVER в pymssql - PullRequest
0 голосов
/ 15 апреля 2019

Я использую библиотеку pymssql для извлечения данных из MS SQL Server с использованием хранимых процедур. При передаче обязательных параметров у меня нет проблем.

Как передать необязательные параметры в pymssql?

Мой сохраненный процесс имеет 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))   

Я хочу передать необязательные параметры и убедиться, что вместо чего-то задан правильный параметр.

1 Ответ

2 голосов
/ 15 апреля 2019

Вызовите хранимую процедуру с помощью команды «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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...