2010-08-03 17 views
0

我有一個用戶定義的功能。變量是否可以在MySQL中的用戶定義函數中保存多個記錄?

在該函數中,我聲明瞭一個類型爲datetime的變量。

我將查詢的結果分配給這個變量。我將返回這個指定的值。它看起來像

delimiter$$ 
drop function if exists getQEDate$$ 
create function getQEDate() returns datetime 
begin 

    declare qedate datetime; 
    select date into qedate from qenddates where ....; 

    return qedate; 
end$$ 
delimiter ; 

當訪問此函數時,我收到一個異常,如「返回比一行...」。 所以我想在返回結果時發生這個錯誤。這意味着變量qedate可以保存多行。

上述分析是否合理?

回答

1

這可能是您的查詢返回的行數超過1行,並且無法將其存儲到變量中。如果您只希望有1行,您應該檢查您的where子句或將LIMIT 1添加到函數中查詢的末尾。

我猜,因爲我看不到你的數據或你的where子句:)

+0

對不起,我不是要求的解決方案。我只是確認一個變量可以包含多行或不包含多行。 – 2010-08-03 03:53:41

+1

然後答案是否定的。這不可以 – Cfreak 2010-08-03 16:32:24

相關問題