mysql процедура при условии - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть mysql процедура, которая не работает при условии IF с AND. Я не уверен, какой правильный синтаксис.

 CREATE PROCEDURE insere_orcamento(
 IN ida VARCHAR(10),
 IN volta VARCHAR(10),
 OUT result INT
)
BEGIN

 IF (ida='sim' AND volta=NULL) THEN
    SET result = 50;
 ELSEIF (ida=NULL AND volta='sim') THEN
    SET result = 51;
 END IF;

END

1 Ответ

1 голос
/ 24 февраля 2020

Значение NULL должно быть проверено с IS

Или как akina сказал, что вы также можете использовать <=>

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insere_orcamento`(
 IN ida VARCHAR(10),
 IN volta VARCHAR(10),
 OUT result INT
)
BEGIN

 IF (ida='sim' AND volta IS NULL) THEN
    SET result := 50;
 ELSEIF (ida IS NULL AND volta = 'sim') THEN
    SET result := 51;
 END IF;

END$$
DELIMITER ;
...