MySQL存储过程参数似乎不适用于特殊字符@?

您不能以@开头给MySQL存储过程参数。您可以给@登录用户定义的变量。

以下是语法-

SET @yourVariableName=yourValue;

让我们实现以上语法以正确放置@sign-

mysql> DELIMITER //
mysql> CREATE PROCEDURE declare_Variable(IN StudentName varchar(100))
   BEGIN
      SET @Name=StudentName;
      SELECT @Name;
   END
//
mysql> DELIMITER ;

现在您可以借助CALL命令调用存储过程-

mysql> call declare_Variable('John Smith');

这将产生以下输出-

+------------+
| @Name      |
+------------+
| John Smith |
+------------+
1 row in set (0.00 sec)