>데이터 베이스 >MySQL 튜토리얼 >mysql 저장 프로시저 판단

mysql 저장 프로시저 판단

WBOY
WBOY원래의
2023-05-20 13:39:382504검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.