Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd podczas deklarowania zmiennej całkowitej wewnątrz funkcji przechowywanej w MySQL

Wystąpiły błędy składni -

Jednym z nich jest - wszystkie deklaracje muszą znajdować się na początku klauzuli 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UPDATE z ORDER BY i LIMIT nie działa w MYSQL

  2. Tworzenie tabeli z błędem przepełnienia arytmetycznego

  3. Błąd MySQL podczas wstawiania danych zawierających apostrofy (pojedyncze cudzysłowy)?

  4. Co oznacza „unsigned” w MySQL i kiedy go używać?

  5. Czy istnieje sposób na śledzenie zmian w bazie danych mysql za pomocą perla?