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()

  • 相关阅读:
    团队服务器搭建(搭建php环境和安装在线mysql管理工具phpmyadmin)
    游戏交流社区的构思
    脚本实现在线黄金点游戏,支持多用户,不重复,防机器等功能
    LogFilter
    XML
    Java互联网应用和企业级应用的区别
    Java小目标
    JAVA集合类
    黄金点游戏
    WordCount
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/5877897.html
Copyright © 2011-2022 走看看