sql >> データベース >  >> RDS >> Mysql

MySQLストアド関数内で整数変数を宣言中にエラーが発生しました

    いくつかの構文エラーがありました-

    そのうちの1つは-すべての宣言はBEGIN...END句の先頭にある必要があります

    DELIMITER $
    
    DROP FUNCTION IF EXISTS get_string_class$
    CREATE FUNCTION get_string_class(mystring VARCHAR(15))
    
    RETURNS VARCHAR(15)
    READS SQL DATA
    BEGIN
    
    DECLARE i INT;
    DECLARE segment VARCHAR(15);
    DECLARE String_Class VARCHAR(15);
    DECLARE mystringlength INT;
    
    SET i = 2;
    SET mystringlength = LENGTH(mystring);
    SET String_Class = NULL;
    
    WHILE i <= mystringlength DO
    
       SET segment = LEFT(mystring, i);
    
       SET String_Class = (SELECT String_Class FROM string_class_list WHERE String_Begins = segment);
    
       IF (SELECT FOUND_ROWS()) = 1 THEN
          RETURN String_Class;
       END IF;
    
       SET i = i + 1;
    
    END WHILE;
    
    RETURN String_Class;
    
    END$
    DELIMITER ;
    


    1. Oracle Database Link-MySQLと同等ですか?

    2. MySQL日時列のデフォルト値をどのように設定しますか?

    3. Laravelのタイムスタンプが明示的に呼び出されることなく更新されている

    4. RODBC odbcDriverConnect()接続エラー