簡體   English   中英

查詢和存儲過程返回不同的結果

[英]Query and Stored Procedure return different results

我正在使用MySQL和MySQL工作台。 有人可以在這里幫助我,因為我迷失了方向!

我運行查詢如下:

# Retrieve user_team from user
SELECT CS_USER_TEAMS_ID
FROM classicseasonmodel_classicseasonuserteam 
WHERE user_id = 2;

哪個工作正常。.我得到的CS_USER_TEAMS_ID值為2

ss_query

但是,當我使用輸入參數創建同一查詢的存儲過程時。

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN user_id INT)
BEGIN

    # Retrieve user team from user_id
    SELECT CS_USER_TEAMS_ID
    FROM classicseasonmodel_classicseasonuserteam 
    WHERE user_id = @user_id;

END

..它什么也不返回( null

SS_StoredProcedure

有人可以解釋我在這里有多蠢嗎? 謝謝。

嘗試:

DELIMITER //

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN p_user_id INT)
BEGIN
    # Retrieve user team from user_id
    SELECT CS_USER_TEAMS_ID
    FROM classicseasonmodel_classicseasonuserteam 
    WHERE user_id = p_user_id;
END//

DELIMITER ;

指出9.4之間的區別很重要 用戶定義的變量和例程參數13.1.15。 CREATE PROCEDURE和CREATE FUNCTION語法是不同的變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM