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

时间:2009-12-08 04:34:07

标签: sql mysql stored-procedures parameters

您是否可以执行以下w / MySQL存储过程?/

DROP PROCEDURE IF EXISTS `test`;
DELIMITER //

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

@team(或team)是传递给存储过程的变量吗?

1 个答案:

答案 0 :(得分:7)

您需要使用:

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 ;

引用存储过程参数时没有@表示法。