1
SELECT DATEDEBUT, DATEFIN INTO DebutReserv2, FinReserv2 FROM RESERVATION WHERE IDCODEBARRES = v_codebarre ORDER BY DATEDEBUT LIMIT 0, 1;
        RETURN(Concat(DebutReserv2, ",", FinReserv2));
        If ((DebutReserv2 <= curdate()) and (FinReserv2 >= curdate())) THEN
            RETURN(Concat(DebutReserv2, ",", FinReserv2));

ここで少し問題があります。最初のリターンでは、DebutReserv2 と FinReserv2 には最初の選択によって割り当てられた値がありますが、最初の if を渡すとすぐに、両方の変数の値が変化します (そして、同じループにいます)。このコードもカーソル内にあります。

4

1 に答える 1

0

IF最初のRETURNステートメントのため、実行が に到達することはありません。

于 2012-07-09T01:19:53.890 に答える