> 데이터 베이스 > MySQL 튜토리얼 > mysql은 저장 프로시저를 반환합니다.

mysql은 저장 프로시저를 반환합니다.

PHPz
풀어 주다: 2023-05-08 19:28:36
원래의
1020명이 탐색했습니다.

MySQL은 오픈 소스이자 강력한 관계형 데이터베이스 관리 시스템입니다. 데이터베이스에서 특정 기능이나 작업을 수행하는 미리 컴파일된 SQL 코드 블록인 저장 프로시저를 지원합니다. 저장 프로시저는 중복 코드를 줄이고, 데이터베이스 작업 효율성을 향상시키며, 보안을 보장할 수 있습니다.

이 기사에서는 MySQL의 저장 프로시저 사용과 반환 값 처리에 중점을 둘 것입니다.

1. MySQL 저장 프로시저 생성 및 사용
MySQL 저장 프로시저 생성에는 다음 단계가 포함됩니다.

  1. 저장 프로시저 이름 및 매개변수 정의
    구체적인 구현 방법은 다음과 같습니다.
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)
로그인 후 복사

그 중 PROCEDURE가 키워드입니다. 저장 프로시저를 생성하는 경우, 프로시저_이름은 저장 프로시저의 이름이고, IN 매개변수_이름은 입력 매개변수의 이름이며, DATA_TYPE은 입력 매개변수의 데이터 유형입니다.

  1. 저장 프로시저 문 지정
    구체적인 구현 방법은
BEGIN
    -- 存储过程语句
END
로그인 후 복사

그 중 BEGIN과 END가 저장 프로시저 문을 지정하는 키워드이다. 저장 프로시저의 특정 기능을 구현하기 위해 BEGIN과 END 사이에 여러 SQL 문을 작성할 수 있습니다.

  1. 결과 반환
    저장 프로시저에서 SELECT 문을 사용하여 결과를 반환할 수 있습니다. 아래와 같이
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)
BEGIN
    SELECT * FROM table_name WHERE column_name = parameter_name;
END
로그인 후 복사

그 중 *는 와일드카드 문자로, 모든 열의 데이터를 반환한다는 의미입니다. table_name은 테이블 이름입니다.

2. MySQL 저장 프로시저 호출
MySQL 저장 프로시저를 생성한 후 CALL 문을 사용하여 저장 프로시저를 호출할 수 있습니다. 구체적인 구현 방법은 다음과 같습니다.

CALL procedure_name(parameter_value);
로그인 후 복사

그 중 CALL은 저장 프로시저를 호출하는 키워드이고, 프로시저_이름은 저장 프로시저의 이름이고, 매개변수_값은 저장 프로시저에 전달되는 매개변수 값입니다.

3. MySQL 저장 프로시저의 반환 값 처리
MySQL 저장 프로시저는 단일 값과 결과 집합이라는 두 가지 유형의 값을 반환할 수 있습니다. 단일 값의 경우 OUT 매개변수를 사용하여 해당 값을 반환할 수 있고, 결과 집합의 경우 CURSOR를 사용할 수 있습니다.

  1. OUT 매개변수를 통해 단일 값을 반환합니다.
    구체적인 구현 방법은 아래와 같이 CREATE PROCEDURE 문에서 OUT 매개변수를 선언하는 것입니다.
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)
로그인 후 복사

여기서 OUT은 OUT 매개변수를 선언하는 키워드입니다. 출력 매개변수의 이름, DATA_TYPE은 출력 매개변수의 데이터 유형입니다.

저장 프로시저 문에서 SET 문을 사용하면 아래와 같이 OUT 매개 변수의 값을 설정할 수 있습니다.

CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)
BEGIN
    SET out_parameter_name = (SELECT COUNT(*) FROM table_name WHERE column_name = parameter_name);
END
로그인 후 복사

그 중 COUNT(*)는 만족하는 전체 레코드 수를 반환하는 집계 함수입니다. 조항들.

저장 프로시저를 호출할 때 아래와 같이 SELECT 문을 사용하여 OUT 매개 변수의 값을 가져올 수 있습니다.

CALL procedure_name(parameter_value, @out_parameter_value);
SELECT @out_parameter_value;
로그인 후 복사

그 중 @out_parameter_value는 OUT 매개 변수의 값을 저장하는 데 사용되는 사용자 변수입니다.

  1. CURSOR를 통해 결과 집합을 반환합니다.
    CURSOR는 결과 집합을 반복하는 데 사용되는 데이터 유형입니다. MySQL 저장 프로시저에서는 DECLARE, OPEN, FETCH, CLOSE 및 END 키워드를 사용하여 CURSOR 및 결과 세트를 정의할 수 있습니다.

구체적인 구현 방법은 다음과 같습니다.

CREATE PROCEDURE procedure_name ()
BEGIN
    DECLARE cursor_name CURSOR FOR SELECT column_name FROM table_name;
    OPEN cursor_name;
    FETCH cursor_name INTO variable_name;
    WHILE @@FETCH_STATUS = 0 DO
        -- 处理结果集
        FETCH cursor_name INTO variable_name;
    END WHILE;
    CLOSE cursor_name;
END
로그인 후 복사

그중 DECLARE는 CURSOR를 선언하는 키워드입니다. FROM table_name은 결과 집합 쿼리 문입니다. FETCH는 다음 행을 가져오는 것입니다. of data in CURSOR 키워드; WHILE @@FETCH_STATUS = 0은 전체 결과 집합을 통과했는지 확인하는 조건이고, CLOSE는 CURSOR를 닫는 키워드입니다.

저장 프로시저 호출 시 아래와 같이 SELECT 문을 사용하여 CURSOR에서 데이터를 검색할 수 있습니다.

CALL procedure_name();
SELECT column_name FROM table_name WHERE condition;
로그인 후 복사

IV. MySQL 저장 프로시저 사용 시 주의 사항
MySQL 저장 프로시저 사용 시 주의할 점 다음 사항:

  1. 저장 프로시저의 변수 이름은 키워드와 동일한 이름을 가질 수 없습니다.
  2. 저장 프로시저에서 SET 문을 사용하여 변수 값을 설정할 수 있습니다.
  3. 세미콜론은 저장 프로시저에서 여러 문을 구분하는 데 사용할 수 있습니다.
  4. 저장 프로시저의 매개변수 이름과 데이터 테이블의 열 이름은 동일하면 안 됩니다. 그렇지 않으면 모호함이 발생할 수 있습니다.
  5. 저장 프로시저를 사용할 때 괄호()를 추가해야 합니다. 그렇지 않으면 구문 오류가 발생할 수 있습니다.

요약:
MySQL 저장 프로시저는 데이터베이스에서 특정 기능이나 작업을 수행할 수 있는 미리 컴파일된 SQL 코드 블록입니다. 저장 프로시저는 중복 코드를 줄이고, 데이터베이스 작업 효율성을 향상시키며, 보안을 보장할 수 있습니다. 이 글에서는 MySQL 저장 프로시저의 생성, 호출, 반환 값 처리에 대해 소개하고, 저장 프로시저 사용 시 주의해야 할 사항을 소개한다. 개발자는 MySQL 저장 프로시저의 유연한 사용을 통해 개발자가 데이터베이스 작업을 보다 효율적으로 완료하도록 도울 수 있습니다.

위 내용은 mysql은 저장 프로시저를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿