【问题标题】:Access second result set of stored procedure with SQL or other work-around? Python\pyodbc使用 SQL 或其他变通方法访问存储过程的第二个结果集? Python\pyodbc
【发布时间】:2010-09-21 08:29:03
【问题描述】:

我正在使用 python\pyodbc 并希望访问存储过程的第二个结果集。据我所知,pyodbc 不支持多个结果集。此外,我无法修改存储过程。是否有任何选项可以使用 SQL 或其他解决方法访问第二个结果集?也许创建第二个存储过程,只返回第一个结果集的第二个结果集?

【问题讨论】:

    标签: python sql pyodbc


    【解决方案1】:

    有几种可能的方法here。如果结果集都相同,您也许可以使用 INSERT...EXEC 方法。否则 OPENQUERY 可能会起作用。

    【讨论】:

      【解决方案2】:

      不需要任何花哨的东西。只需使用cursor's nextset() method

      
      import pyodbc
      
      db = pyodbc.connect ("")
      q = db.cursor ()
      q.execute ("""
      SELECT TOP 5 * FROM INFORMATION_SCHEMA.TABLES
      SELECT TOP 10 * FROM INFORMATION_SCHEMA.COLUMNS
      """)
      tables = q.fetchall ()
      q.nextset ()
      columns = q.fetchall ()
      
      assert len (tables) == 5
      assert len (columns) == 10
      
      

      【讨论】:

        猜你喜欢
        • 2013-10-06
        • 2010-09-08
        • 1970-01-01
        • 1970-01-01
        • 2012-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多