gpt4 book ai didi

mysql - IN Mysql函数如何返回多行

转载 作者:行者123 更新时间:2023-11-29 05:32:55 24 4
gpt4 key购买 nike

我正在使用 MySQL。我可以在 MySQL 过程中获得更多行,但不能在函数中获得。我想通过返回不止一行的值来编写函数。我附上我的部分代码:

drop function if exists test_splitfn;
DELIMITER $$

CREATE Function test_splitfn( sSepar VARCHAR(255), saVal TEXT )
Returns @MyTable table
body:

BEGIN

DROP TEMPORARY TABLE IF EXISTS lib_Explode;
CREATE TEMPORARY TABLE lib_Explode(
pos int unsigned NOT NULL auto_increment,
val VARCHAR(255) NOT NULL,
PRIMARY KEY (pos)
) ENGINE=Memory COMMENT='Explode() results.';

IF sSepar IS NULL OR saVal IS NULL THEN LEAVE body; END IF;

SET @saTail = saVal;
SET @iSeparLen = LENGTH( sSepar );

create_layers:
WHILE @saTail != '' DO

# Get the next value
SET @sHead = SUBSTRING_INDEX(@saTail, sSepar, 1);
SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 1 + @iSeparLen );
INSERT INTO lib_Explode SET val = @sHead;

END WHILE;

Insert @MyTable
SELECT val FROM lib_Explode;


return @MyTable;
END; $$
DELIMITER ;

最佳答案

在 MySQL 函数中你不能返回表..

关于mysql - IN Mysql函数如何返回多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13249894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com