阅读背景:

在mysql的字段中存储存储过程的多个结果

来源:互联网 
  CREATE DEFINER=`root`@`localhost` PROCEDURE `SampleProc`()
   BEGIN
           DECLARE X  INT;

           SET X = 1;
           WHILE X  <= 1890 DO
           SET @paperid=(SELECT PaperID FROM scrpd_paper_authors WHERE AuthorID=X);     
       SELECT AuthorID FROM scrpd_paper_authors WHERE PaperID=@paperid
       SET  X = X + 1;
          END WHILE;
   END$$

 DELIMITER ;

mytable                                           scrpd_paper_authrs                            

 ID     co_authors                             PaperID      AuthorId      
 ====   =========                             =========     ========
 1                                                1             1
 2                                                2             2
 3                                                3             3
 4                                                3             4
 5                                                3             5

                         mytable(expected result)

                          ID            co_authors
                         =====          ==========
                           1                 0
                           2                 0
                           3                 4,5
                           4                 3,5
                           5                 3,4
  CREATE DEFINER=`root`@`localhost` PROCEDURE `



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: