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 に答える