簡體   English   中英

如何通過MYSQL用戶定義函數中的另一個字符串變量來引用局部變量名?

[英]How to refer to a local variable name through another string variable in MYSQL user defined function?

我在MYSQL中有一個用戶定義的函數,在該函數中我需要動態(間接)引用本地變量名稱。

BEGIN
DECLARE D1 INT;
DECLARE i INT;
SET i = 1;
SET D1 = 7;
RETURN variable("D" & i);
END

注意:我在上面的示例中使用了假定的功能variable()來顯示我想要的東西。

我希望函數返回D1的值,但要使用另一個變量i間接引用其名稱。 我怎樣才能做到這一點? 請幫忙。 謝謝。

嘗試使用PREPAREEXECUTE

BEGIN
    DECLARE D1 INT;
    DECLARE i INT;
    DECLARE result INT;
    SET i = 1;
    SET D1 = 7;
    PREPARE stmt FROM CONCAT('SELECT D', i, ' INTO result');
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
    RETURN result;
END

暫無
暫無

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

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