Я хочу вызвать хранимую процедуру и получить выходной параметр в python. Я использую sqlAlchemy и могу использовать параметры, но не знаю, как сделать вывод в переменную. Я понимаю, что в sqlAlchemy есть атрибут outParam (), но я не нашел полезного примера.
Вот простой SQL код для тестирования:
CREATE PROCEDURE [dbo].[Test]
@numOne int,
@numTwo int,
@numOut int OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SET @numOut = @numOne + @numTwo
END
И простой python:
engine = sqlalchemy.create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
outParam = 0
result = engine.execute('Test ? ,?, ? OUTPUT', [1, 2, outParam])
outParam по-прежнему равен 0. Я попытался изменить его с помощью:
outParam = sqlalchemy.sql.outparam("ret_%d", type_=int)
Но это приводит к «Ошибка программирования». Чего мне не хватает?