【发布时间】:2020-01-10 21:19:46
【问题描述】:
我想调用一个存储过程并在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)
但这会产生“编程错误”。我错过了什么?
【问题讨论】:
标签: python stored-procedures parameters sqlalchemy output-parameter