具有自定义“类表”输出的mysql过程

具有自定义“类表”输出的mysql过程,mysql,database,stored-procedures,Mysql,Database,Stored Procedures,这可能不是一个简单的问题 我正在寻找一种方法,不从表中选择任何内容,而是返回一组类似表的数据 基本上,我有一个过程,循环遍历一个表,将数据存储到一个变量中,然后按行显示: SELECT @args as parents; 有没有更好的方法来设置表数据结构并返回整个数据结构?现在我返回一个变量,其中包含多个解析所需的数据 编辑: 为了更好地解释: 我要做的是循环并执行一系列select语句,是否有方法将这些数据“concat”到一个大的datatable结构中,然后返回该表 我对mySQL不是很

这可能不是一个简单的问题

我正在寻找一种方法,不从表中选择任何内容,而是返回一组类似表的数据

基本上,我有一个过程,循环遍历一个表,将数据存储到一个变量中,然后按行显示:

SELECT @args as parents;
有没有更好的方法来设置表数据结构并返回整个数据结构?现在我返回一个变量,其中包含多个解析所需的数据

编辑:

为了更好地解释:


我要做的是循环并执行一系列select语句,是否有方法将这些数据“concat”到一个大的datatable结构中,然后返回该表

我对mySQL不是很肯定,但您应该能够使用函数返回表。在另一个问题上,我发现以下内容可能会有所帮助:

CREATE FUNCTION getdepartments() 
    RETURNS @departments TABLE( 
        DNAME VARCHAR(25), 
        DEPTID VARCHAR(10), 
        DBONUS DECIMAL(7,2)) 
AS 
BEGIN 
    INSERT @departments SELECT * FROM DEPARTMENT; 
    RETURN 
END 

我在SQL Server中完成了这项工作,您可以做一些有趣的事情,比如不断向输出表添加记录的递归函数等。

我对mySQL不是很肯定,但您应该能够使用函数返回表。在另一个问题上,我发现以下内容可能会有所帮助:

CREATE FUNCTION getdepartments() 
    RETURNS @departments TABLE( 
        DNAME VARCHAR(25), 
        DEPTID VARCHAR(10), 
        DBONUS DECIMAL(7,2)) 
AS 
BEGIN 
    INSERT @departments SELECT * FROM DEPARTMENT; 
    RETURN 
END 

我在SQL Server中完成了这项工作,您可以做一些有趣的事情,比如不断向输出表中添加记录的递归函数等。

也许您可以返回一个如本文所述的记录集。希望这会有所帮助。

也许您可以返回此处所述的记录集。希望这会有所帮助。

使用临时表

   DROP TABLE IF EXISTS tmp;
   CREATE TABLE tmp( --fields-- );   
   WHILE ( --condition-- ) DO
       INSERT INTO tmp VALUES ( --fields-- );
       SELECT --Statement--
   END WHILE;


--do stuff--
清理

DROP TABLE tmp
使用临时表

   DROP TABLE IF EXISTS tmp;
   CREATE TABLE tmp( --fields-- );   
   WHILE ( --condition-- ) DO
       INSERT INTO tmp VALUES ( --fields-- );
       SELECT --Statement--
   END WHILE;


--do stuff--
清理

DROP TABLE tmp

也许我需要更好地解释我自己。我会的,也许我需要更好地解释我自己。我来编辑