我写的下面脚本,
CREATE PROCEDURE UP_user_role_ADD
(
in @role_name varchar(50),
in @re varchar(200)
)
 begin
    INSERT INTO user_role(
role_name,
        re
)VALUES(
@role_name,
        @re
)
end
在EMS SQL Manager 2007 for MySQL这个工具里执行时,提示错误,这是什么问题??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 '@role_name varchar(50),
in @re varchar(200)
)
 begin
INSERT INTO user_role(' at line 3

解决方案 »

  1.   

    in role_name varchar(50),
     in re varchar(200)
      

  2.   

    CREATE PROCEDURE UP_user_role_ADD
    (
    in role_name varchar(50),
    in re varchar(200)
      

  3.   

    改过之后CREATE PROCEDURE UP_user_role_ADD
     (
    in role_name varchar(50),
    in re varchar(200)
    )
     begin
    INSERT INTO user_role(
    role_name,
        re
    )VALUES(
    @role_name,
        @re
    )
    end
    还有一个错误
    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 'end' at line 14
      

  4.   

    现在急用,晚上回去看书,mysql没搞过
      

  5.   

    DELIMITER $$CREATE PROCEDURE UP_user_role_ADD
    (
    in role_name varchar(50),
    in re varchar(200)
    )
    begin
    INSERT INTO user_role(
    role_name,
        re
    )VALUES(
    @role_name,
        @re
    );
        END$$DELIMITER ;
      

  6.   

    DELIMITER $$CREATE PROCEDURE UP_user_role_ADD
    (
    in role_name varchar(50),
    in re varchar(200)
    )
    begin
    INSERT INTO user_role(
    role_name,
        re
    )VALUES(
    role_name,
        re
    );
        END$$DELIMITER ;
      

  7.   

    谢谢,搞定了,晚上有事干了CREATE PROCEDURE UP_user_role_ADD 

    in role_name varchar(50), 
    in re varchar(200) 

    begin 
    INSERT INTO user_role( 
    role_name, 
        re 
    )VALUES( 
    @role_name, 
        @re 
    ); 
    end;