存储过程 不用临时表,也不用OUT参数,怎么返回结果集

存储过程 不用临时表,也不用OUT参数,怎么返回结果集

存储过程 不用临时表,也不用OUT参数,如何返回结果集

这是一个测试例子

SQL code


  
DROP PROCEDURE IF EXISTS Pro_test;

CREATE PROCEDURE Pro_test()
   BEGIN
      DECLARE ret       REAL;
      DECLARE no_more_departments INT;

      DECLARE cursor_name CURSOR
      FOR
      SELECT a FROM tbl_mytest;
      DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1;

      DROP TABLE IF EXISTS tbl_temp;
      CREATE TEMPORARY TABLE IF NOT EXISTS tbl_temp
      (
           `tmp_ret` REAL ,
      ) ;

      SET no_more_departments = 0;

      OPEN cursor_name;

      REPEAT
         FETCH cursor_name INTO ret;
            SET ret = ret*PI*100/180;
            INSERT INTO tbl_temp  VALUES (ret);

      UNTIL no_more_departments
      END REPEAT;

      CLOSE cursor_name;

      SELECT tmp_ret  FROM tbl_temp ORDER BY tmp_ret;
   END;



MYSQL目前版本无此功能。

你可以通过在存储过程中执行SELECT语句返回结果集给应用程序。但无法返回给其它存储过程使用。




function 可以实现你的功能,和procedure 差不多。




存储过程实现不了具体的功能。

考虑一下函数。




MYSQL目前不支持返回结果集,只能用表保存,再访问表

存储过程 不用临时表,也不用OUT参数,怎么返回结果集

相关文章:

你感兴趣的文章:

标签云: