• ADADADADAD

    MySQL create function时报错[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:11:30

    作者:文/会员上传

    简介:

    MySQL create function时报错
    mysql> delimiter $$
    mysql> CREATE FUNCTION is_ChangeDescColumnExist (THE_VERSION_LEVEL_TABLE_NAME VARCHAR(35)) RETURN INT DETERMINIS

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    MySQL create function时报错
    mysql> delimiter $$
    mysql> CREATE FUNCTION is_ChangeDescColumnExist (THE_VERSION_LEVEL_TABLE_NAME VARCHAR(35)) RETURN INT DETERMINISTIC
    -> BEGIN
    -> DECLARE nbr INT;
    -> SET nbr =0;
    -> /* DECLARE CONTINUE HANDLER FOR NOT FOUND RETURN 0;*/
    -> select count(*) into nbr from information_schema.columns where table_name = THE_VERSION_LEVEL_TABLE_NAME and
    -> (column_name ='C_CHANGE_DESCRIPTION');
    -> IF nbr = 1 THEN
    -> RETURN 1;
    -> ELSE
    ELSE ELSEIF
    -> ELSE
    -> RETURN 0;
    -> END IF;
    -> END$$
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RETURN INT DETERMINISTIC
    BEGIN
    DECLARE nbr INT;
    SET nbr =0;

    sel' at line 1

    报错原因:
    RETURN INT DETERMINISTIC语句中返回关键字应该是RETURNS

    修改后,创建函数正常
    delimiter $$
    CREATE FUNCTION is_ChangeDescColumnExist (THE_VERSION_LEVEL_TABLE_NAME VARCHAR(35)) RETURNS INT DETERMINISTIC
    BEGIN
    DECLARE nbr INT;
    SET nbr =0;
    /* DECLARE CONTINUE HANDLER FOR NOT FOUND RETURN 0;*/
    select count(*) into nbr from information_schema.columns where table_name = THE_VERSION_LEVEL_TABLE_NAME and
    (column_name ='C_CHANGE_DESCRIPTION');
    IF nbr = 1 THEN
    RETURN 1;
    ELSE
    RETURN 0;
    END IF;
    END$$
    MySQL create function时报错.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql报错create