简体   繁体   English

MySQL存储过程:WHERE子句中的变量?

[英]MySQL stored procedure: variable in WHERE clause?

Can you not do the following w/ MySQL stored procedures?/ 您不能通过MySQL存储过程执行以下操作吗?/

DROP PROCEDURE IF EXISTS `test`;
DELIMITER //

CREATE PROCEDURE TEST (team varchar(30))
BEGIN
    SELECT * FROM TEAMS WHERE TEAM_ID = @team;
END
//

Where @team (or team) is the variable passed to the stored procedure? @team(或团队)在哪里传递给存储过程的变量?

You need to use: 您需要使用:

DROP PROCEDURE IF EXISTS `test`;
DELIMITER //

CREATE PROCEDURE TEST (IN_TEAM_ID varchar(30))
BEGIN

    SELECT t.* 
      FROM TEAMS t
     WHERE t.team_id = IN_TEAM_ID;

END //

DELIMITER ;

There's no @ notation when referencing stored procedure parameters. 引用存储过程参数时没有@表示法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM