zoukankan      html  css  js  c++  java
  • Support for multiple result sets

     

    https://blueprints.launchpad.net/myconnpy/+spec/sp-multi-resultsets

    Calling a stored procedure can produce multiple result sets. They should be retrieved and made available to the application.
    MySQLdb is using the Cursor nextset()-method to go through multiple result sets. If the stored procedure returns a multiple results, it will require you to get all sets. For example, using MySQLdb, you'll have to do the following when procedure 'multi' returns 2 sets:

     # using MySQLdb
     cur.callproc("multi", (5, 6, 0))
     cur.nextset()
     cur.nextset()
     cur.execute("SELECT @_multi_0,@_multi_1,@_multi_2")
     row = cur.fetchone() # == (5L, 6L, 30L)

    In Connector/Python we might do it a bit easier, buffering the multiple sets returned and using the fetch-methods to get the results:

     # using MySQL Connector/Python
     cur.callproc("multi", (5,6,0))
     row = cur.fetchone() == ('5', '6', 30)

    If the application needs the other results, it can get them using next_proc_resultset() this method returns a MySQLCursorBuffered object which holds the result:

     # using MySQL Connector/Python
     result = cur.callproc("multi", (5,6,0))
     cursor_set1 = cur.next_proc_resultset()
            rows = cur.fetchall()

  • 相关阅读:
    Java入门
    Java入门
    Java入门
    Java入门
    Java入门
    Java入门
    Java入门
    random库的使用
    程序的控制结构
    数据类型
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/5877897.html
Copyright © 2011-2022 走看看