Задать вопрос
RazerVG
@RazerVG
Full-stack

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

Хочу в зависимости от входного параметра выполнить различный where?
CREATE PROCEDURE proc_IF (IN param1 INT)  
BEGIN  
    SELECT * FROM articles 
  
    IF param1 = 0 THEN  
        WHERE name = 'Тест'
    ELSE  
        WHERE name = 'Проверка'  
    END IF;  
END
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы