我的团队使用基于 Python 的 wiki 服务器,该服务器调用 SQL Server 数据库上的存储过程。理想情况下,我们希望从存储过程返回整数值 (1,0,-1) 以显示基本结果。
根据一个Google 网上论坛 2008 年主题,pyodbc 不支持返回值,因此替代方法是 SELECT 结果作为一行并检查它。现在还是这样吗?是否有(受支持和记录的)编程方法来检查 SQL 存储过程的返回值? (如果是这样,请添加当前参考或示例。)
我正在使用这个:
def CallStoredProc(conn, procName, *args):
sql = """DECLARE @ret int
EXEC @ret = %s %s
SELECT @ret""" % (procName, ','.join(['?'] * len(args)))
return int(conn.execute(sql, args).fetchone()[0])
它只适用于 SQL Server(或者 Sybase),但它是一个不错的解决方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)