매개 변수를 전달하는 경우 select 쿼리에서 사용하고 그렇지 않으면 매개 변수를 사용하지 않는 mysql 저장 프로 시저를 정의해야합니다.IF 문을 사용하는 MySQL 스토어 절차
여기에 내가 무엇을, 그리고 제대로 동작하지 않습니다 :
IF (selected_category IS NULL) then
SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name'
FROM items i, categories c WHERE i.category_id = c.id;
ELSE IF (selected_category IS NOT NULL) then
SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name'
FROM items i, categories c WHERE i.category_id = c.id AND c.name LIKE selected_category;
END IF
나는 또한 ELIF
, END IF;
를 작성하는 대신 ELSE IF
의 시도 한 다음 새 IF
을하지만 아무것도 작동하고 싶어.
프로 시저 만들기를 클릭하면 첫 번째 SELECT
아래의 모든 내용을 주석 처리하지 않으면 항상 오류가 표시됩니다.
도움을 많이 주시면 감사하겠습니다. 고맙습니다.
그것은 프로 시저를 받아들이고 생성했지만, 프로 시저를 호출하면 항상 "MySQL은 빈 결과 집합 (예 : 0 행)을 반환합니다."를 반환합니다. –
같은 성명을 사용하여 조정해야 할 수도 있습니다 (편집 참조). – Sebas