Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi khai báo biến số nguyên bên trong hàm được lưu trữ MySQL

Có một số lỗi cú pháp -

Một trong số đó là - tất cả các khai báo phải ở đầu mệnh đề 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. Đề xuất điều chỉnh hiệu suất mySQL my.cnf

  2. Cách chèn thẻ vào cơ sở dữ liệu bằng jquery html và php

  3. Câu lệnh chuẩn bị multi_query trong PHP MySQLi

  4. LỖI 1148:Lệnh đã sử dụng không được phép với phiên bản MySQL này

  5. Làm cách nào để tải tệp sql.gz vào cơ sở dữ liệu của tôi? (đang nhập khẩu)