首页 > 解决方案 > (MySQL) 如何在没有 DELIMITER 语句的情况下将查询插入函数?

问题描述

晚上。

我正在尝试创建一个原始函数 w/o DELIMITER,但我无法在RETURNS关键字下插入查询。

这是我在教程中的基础功能:

DROP FUNCTION IF EXISTS fx_sample;
CREATE FUNCTION fx_sample(str VARCHAR(10), idx INT)
    RETURNS VARCHAR(20)
    RETURN CONCAT(str, ', ', idx) ;

SELECT fx_sample("Hi, Reddit", 2);

尝试1:

DROP FUNCTION IF EXISTS fx_raw;
CREATE FUNCTION fx_raw(str VARCHAR(20), idx INT)
    RETURNS INT
    DECLARE count;
    SET count = CONCAT(LENGTH(str), idx);
    RETURN count;

尝试2:

DROP FUNCTION IF EXISTS fx_raw2;
CREATE FUNCTION fx_raw2(str VARCHAR(20), idx INT)
    RETURNS INT
        BEGIN
            DECLARE str_length;
            SET str_length = LENGTH(str);
            RETURN str_length + idx;
        END

在关键字下插入查询RETURNS不可用?

标签: mysqldatabasefunctiondelimiterrdbms

解决方案


推荐阅读