집 >데이터 베이스 >MySQL 튜토리얼 >mysql 저장 프로시저 판단
MySQL 저장 프로시저 판단: IF, CASE 및 조건문을 사용하여 논리적 판단을 내립니다.
MySQL 저장 프로시저는 MySQL의 비즈니스 로직 구현을 위한 중요한 도구 중 하나이며 데이터를 일괄 처리, 변환, 계산 및 분석할 수 있습니다. MySQL 저장 프로시저에서는 후속 작업을 수행하는 방법을 결정하기 위해 데이터에 대한 논리적 판단을 내려야 하는 경우가 많습니다. 이 기사에서는 IF, CASE 및 조건문을 사용하여 MySQL 저장 프로시저에서 논리적 판단을 내리는 방법을 소개합니다.
1. IF 문
IF 문은 MySQL 저장 프로시저에서 가장 일반적으로 사용되는 조건문으로, true 또는 false 조건에 따라 다양한 작업을 수행하는 데 사용됩니다. 구문 형식은 다음과 같습니다.
IF (condition) THEN statements; ELSEIF (condition) THEN statements; ELSE statements; END IF;
그 중 조건은 판단문을 나타내고, 명령문은 실행해야 할 명령문의 블록을 나타냅니다. IF 문에서는 조건이 참일 때 IF 블록이 실행되고, 조건이 거짓일 때 ELSEIF 또는 ELSE 블록이 실행됩니다. ELSEIF 문 블록은 여러 개가 있을 수 있지만 IF 문 블록이 false인 경우에만 실행됩니다.
다음은 학생의 점수가 IF 문을 통과하는지 확인하는 예입니다.
CREATE PROCEDURE check_score(IN score INT) BEGIN IF (score >= 60) THEN SELECT 'Pass'; ELSEIF (score >= 50) THEN SELECT 'Makeup Exam'; ELSE SELECT 'Fail'; END IF; END;
위 예에서는 학생의 점수를 기준으로 해당 결과가 출력됩니다. 학생의 점수가 불합격되면 "실패"가 출력되고, 점수가 50~60점 사이이면 "보충 시험"이 출력되고, 점수가 60점을 초과하면 "합격"이 출력됩니다.
2. CASE 문
CASE 문은 MySQL 저장 프로시저에서 일반적으로 사용되는 또 다른 조건문입니다. 차이점은 CASE 문이 더 복잡한 조건 판단을 지원한다는 것입니다. 구문 형식은 다음과 같습니다.
CASE expr WHEN value1 THEN statements1; WHEN value2 THEN statements2; ... ELSE statements; END CASE;
그중 expr은 WHEN 조건의 값을 일치시키는 데 사용되는 표현식 또는 열을 나타냅니다. value1, value2...는 일치하는 값을 나타냅니다. 일치하는 값의 작업 ELSE 문 블록은 일치하는 항목이 없을 때 수행해야 하는 작업을 나타냅니다. CASE 문에는 WHEN 조건이 여러 개 있을 수 있습니다.
다음은 CASE문을 통해 학생의 성적을 판단하는 예시입니다.
CREATE PROCEDURE check_level(IN score INT) BEGIN CASE WHEN (score >= 90) THEN SELECT 'Excellent'; WHEN (score >= 80) THEN SELECT 'Good'; WHEN (score >= 70) THEN SELECT 'Fair'; WHEN (score >= 60) THEN SELECT 'Pass'; ELSE SELECT 'Fail'; END CASE; END;
위 예시에서는 학생의 성적에 따라 해당 성적이 출력됩니다. 학생의 점수가 90점을 초과하면 "Excellent"가 80점에서 90점 사이로 출력되고, "Good"이 70점에서 80점 사이로 출력되고, "Fair"가 60점에서 70점 사이로 출력됩니다. ; 결과가 실패하면 "Fail"을 출력합니다.
3. 조건문
조건문은 MySQL 저장 프로시저에서 일반적으로 사용되는 또 다른 논리적 판단 도구로, 구문 형식은 다음과 같습니다.
(condition1) AND/OR (condition2)
그 중 조건1과 조건2는 각각 조건문의 두 가지 판단 조건을 나타냅니다. AND 또는 OR는 서로 다른 조건을 연결할 수 있으며, AND는 두 가지 조건을 충족해야 함을 의미하고, OR은 적어도 하나의 조건을 충족해야 함을 의미합니다.
다음은 조건문을 통해 학생의 지각 여부를 판단하는 예시입니다.
CREATE PROCEDURE check_lateness(IN late INT) BEGIN IF (late = 0) OR (late <= 5) THEN SELECT 'On Time'; ELSE SELECT 'Late'; END IF; END;
위 예시에서 학생이 지각하지 않았거나(예: 지각=0), 지각 시간이 5분을 초과하지 않은 경우, 그런 다음 "On Time"을 출력하고, 그렇지 않으면 "Late"를 출력합니다.
요약
IF, CASE 및 조건문은 MySQL 저장 프로시저에서 일반적으로 사용되는 논리적 판단 도구로, 다양한 조건에 따라 다양한 작업을 수행할 수 있습니다. 실제 개발 작업에서는 코드의 효율성과 가독성을 높이기 위해 특정 비즈니스 요구 사항에 따라 다양한 판단문을 선택할 수 있습니다.
위 내용은 mysql 저장 프로시저 판단의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!