簡體   English   中英

MySQL存儲過程變量問題

[英]MySQL stored procedure variable issue

變量從未通過查詢更新,並且始終具有默認值

BEGIN
    DECLARE sP INT DEFAULT 1;
    DECLARE cBB INT DEFAULT 0;

    SELECT sprice, cb INTO  sP, cBB FROM item WHERE id = 2;
END

這里需要一些指導以解決它的問題(MySQL版本5.5.20)

將變量cb重命名為另一個-

BEGIN
    DECLARE sP INT DEFAULT 1;
    DECLARE cB_var INT DEFAULT 0;

    SELECT sprice, cb INTO  sP, cB_var FROM item WHERE id = 2;
END

變量名稱應與字段名稱不同。

以下兩種方法效果很好,不需要DECLARE變量

BEGIN
     SELECT @sP := sprice, @cBB := cb FROM item WHERE id = 2;
END

或者如果我們想使用INTO子句

BEGIN
     SELECT sprice, cb INTO  @sP, @cBB FROM item WHERE id = 2;
END

區別在於,在第一條語句中,您可以具有不需要存儲在變量中的列,而在第二條語句中... INTO ...每個列出的列都必須存儲在變量中。

暫無
暫無

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

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