随便定义个变量,都出错BEGIN
    DECLARE val VARCHAR(5);
    SET val ='hello';
SELECT val;
END;
[SQL] BEGIN
    DECLARE val VARCHAR(5);
[Err] 1064 - 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 'DECLARE val VARCHAR(5)' at line 2

解决方案 »

  1.   

    MYSQL不支持匿名块,在SP中使用
    delimiter $$
    create procedure tt()
    BEGIN
         DECLARE val VARCHAR(5);
         SET val ='hello';
     SELECT val;
     END$$
    delimiter ;
      

  2.   

    啥是匿名块?必须要建个存储过程才能定义变量?还有这个delimiter是什么意思?
      

  3.   

    必须要建个存储过程才能定义变量?
    是DECLARE val VARCHAR(5);
    必须在SP中使用还有这个delimiter是什么意思?
    语句分隔符