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

Wel*_*lls 1 mysql sql parameters stored-procedures

你能不用以下的MySQL存储过程吗?/

DROP PROCEDURE IF EXISTS `test`;
DELIMITER //

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

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

OMG*_*ies 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 ;
Run Code Online (Sandbox Code Playgroud)

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