Я пытаюсь создать хранимую процедуру с mysql. Идея состоит не в том, чтобы проверить, является ли первый запрос пустым или нет, и сделать это, если это не так, или сделать второй, если первый запрос пуст.
Мой код, упрощенная версия.
DELIMITER //
CREATE PROCEDURE HFTester(idTest INT)
BEGIN
IF (SELECT * FROM `foo` WHERE id = idTest) != NULL
THEN (SELECT * FROM `foo` WHERE id = idTest;)
ELSE (SELECT * FROM `bar` WHERE id = idTest;)
END IF;
END //
DELIMITER;
Процедура сохранена, но когда я ее выполняю, я получаю пустой результат.
Итак, я искал в Интернете и нашел ifnull .
Затем я попытался применить его к своему делу:
DELIMITER //
CREATE PROCEDURE HFTester(idFiche INT)
BEGIN
SELECT IFNULL(
(SELECT * FROM `foo` WHERE id = idTest;),
(SELECT * FROM `bar` WHERE id = idTest;)
);
END //
DELIMITER;
Я почти уверен, что IFNULL не может работать, но есть ли способ сделать это, если оператор в MySQL, или я вынужден сделать это в php?
Victor.