Как в зависимости от входного параметра выполнить различные условия?

Хочу в зависимости от входного параметра выполнить различный where?
CREATE PROCEDURE proc_IF (IN param1 INT)  
BEGIN  
    SELECT * FROM articles 
  
    IF param1 = 0 THEN  
        WHERE name = 'Тест'
    ELSE  
        WHERE name = 'Проверка'  
    END IF;  
END
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
CREATE PROCEDURE proc_IF (IN param1 INT)  
BEGIN  
    SET @query = CONCAT('SELECT * FROM articles ', IF(param1 = 0, "  WHERE NAME = 'Тест';", , "  WHERE NAME = 'Проверка';");
    
    PREPARE stmt FROM @query;
    
    EXECUTE stmt;
     
    DEALLOCATE PREPARE stmt;
END
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы