2012-09-29 13 views

Odpowiedz

35

nie są jeszcze obsługiwane w MySQL. Sugeruję, abyś podał wartość null w swoim parametrze, a wewnątrz procedury przechowywanej jest instrukcja IF.

DELIMITER $$ 
CREATE PROCEDURE procName 
(IN param VARCHAR(25)) 
BEGIN 
    IF param IS NULL THEN 
     -- statements ; 
    ELSE commands 
     -- statements ; 
    END IF; 
END$$ 
DELIMITER ; 
+2

Ponieważ Mysql jest obecnie w rzeczywistości własnością Oracle. Nie spodziewamy się, że zostanie on wdrożony również w przyszłości. –

5

Szczególny przypadek to sytuacja, gdy parametr cant 'ma wartość NULL, tzn. Ponieważ jest kluczem. Używam podstępu w tym przypadku: ustawiłem parametr na -1:

CREATE PROCEDURE procCreate 
(IN id_cosa INT(11)) 
    BEGIN 
    IF id_cosa != -1 THEN 
     ~~(your code here)~~ 
    END IF 
    END 
Powiązane problemy