13

我正在使用 MySQL。我想使用 MySQL 函数返回表。在 SQL 中它工作正常,但在 MySQL 中却不行。我附上我的部分代码

 DELIMITER $$

    CREATE FUNCTION myFunction() RETURNS @tmptable TABLE (item varchar(20))
    BEGIN  

        insert  into @tmptable(item) values('raja')     


        return
     END; $$
4

1 回答 1

9

使用函数你不能返回一个表。

但是,您可以使用存储过程来返回表。

 DELIMITER $$

 CREATE DEFINER=`root`@`%` PROCEDURE `sp_Name`(OUT po_ErrMessage   VARCHAR(200))
 BEGIN
 DECLARE EXIT HANDLER FOR SQLEXCEPTION
 BEGIN
SET po_ErrMessage = 'Error in procedure sp_Name';
 END;

 SELECT * FROM table_name;
END
于 2012-11-06T13:12:01.157 回答