2009-12-08 64 views
1

你能不能做以下w/MySQL的存儲過程?/MySQL存儲過程:WHERE子句中的變量?

DROP PROCEDURE IF EXISTS `test`; 
DELIMITER // 

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

凡@team(或團隊)的變量傳遞到存儲過程?

回答

5

您需要使用:

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 ; 

引用存儲過程的參數時,有沒有@符號。

+0

+1贊成格式和專家縮進。我會隨時與你一起寫代碼。 – Langdon 2009-12-08 06:07:00