>  기사  >  데이터 베이스  >  mysql 저장 프로시저 생성

mysql 저장 프로시저 생성

WBOY
WBOY원래의
2023-05-12 10:55:372245검색

MySQL 저장 프로시저는 필요할 때 이러한 문을 실행하기 위해 호출할 수 있는 일련의 SQL 문을 데이터베이스에 저장하는 방법입니다. MySQL 저장 프로시저를 생성하려면 SQL 구문에 대한 기본 지식과 일부 프로그래밍 개념이 필요합니다.

이 기사에서는 MySQL 저장 프로시저를 생성하는 방법을 배우고 예제를 사용하여 기본 구문과 생성 프로세스를 설명합니다.

  1. 저장 프로시저의 기본 구문

MySQL 저장 프로시저에서 사용하는 기본 구문은 다음과 같습니다.

CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END;

그 중 CREATE PROCEDURE는 MySQL 저장 프로시저의 키워드이고, Procedure_name은 저장 프로시저의 이름입니다. BEGIN과 END 사이의 코드 블록은 저장 프로시저에 의해 실행되는 SQL 코드입니다.

다음은 학생 정보를 쿼리하는 데 사용되는 간단한 저장 프로시저의 예입니다.

CREATE PROCEDURE GetStudent()
BEGIN
SELECT * FROM Student;
END;

저장 프로시저는 GetStudent라고 하며 해당 기능은 학생 데이터 테이블의 모든 데이터를 반환하는 것입니다.

  1. 저장 프로시저의 매개변수

MySQL 저장 프로시저는 입력 매개변수와 출력 매개변수를 허용할 수 있습니다. 입력 매개변수는 데이터를 저장 프로시저에 전달하는 데 사용되고, 출력 매개변수는 저장 프로시저에서 데이터를 반환하는 데 사용됩니다. 이 중 입력 매개변수와 출력 매개변수는 모두 저장 프로시저 생성 시 지정해야 합니다.

다음은 입력 매개변수가 있는 저장 프로시저의 예입니다.

CREATE PROCEDURE GetStudentByGrade(IN grade INT)
BEGIN
SELECT * FROM Student WHERE Grade = grade;
END;

저장 프로시저는 GetStudentByGrade라고 하며 입력 매개변수 등급은 INT 유형입니다. 이 저장 프로시저가 호출되면 성적이 해당 학년과 같은 모든 학생 기록이 반환됩니다.

  1. 저장 프로시저의 변수

MySQL 저장 프로시저는 변수를 사용하여 데이터를 저장할 수도 있습니다. 이러한 변수는 저장 프로시저의 코드 블록 내에서 선언하고 사용할 수 있습니다.

다음은 변수가 있는 저장 프로시저의 예입니다.

CREATE PROCEDURE GetStudentByClassName(IN class_name VARCHAR(50), OUT student_count INT)
BEGIN
DECLARE class_id INT;
SELECT ClassID INTO class_id FROM Class WHERE ClassName = class_name;
SELECT COUNT(*) INTO student_count FROM Student WHERE ClassID = class_id;
END;

저장 프로시저는 GetStudentByClassName이라고 하며 입력 매개변수 class_name과 출력 매개변수 Student_count라는 두 개의 매개변수가 있습니다. 먼저 변수 class_id를 선언한 다음 쿼리를 통해 변수 값을 가져옵니다. 마지막으로 쿼리를 통해 해당 수업과 관련된 학생 수를 계산하고 이를 Student_count 변수에 저장합니다.

  1. 저장 프로시저에 대한 제어 문

MySQL 저장 프로시저는 제어 문을 사용하여 코드 블록의 실행을 제어할 수 있습니다. 일반적인 MySQL 저장 프로시저 제어 문에는 IF, CASE, WHILE 및 FOR가 포함됩니다.

다음은 IF 제어문을 사용하는 저장 프로시저의 예입니다.

CREATE PROCEDURE GetStudentByID(IN student_id INT)
BEGIN
DECLARE student_name VARCHAR(50);
IF student_id <= 0 THEN
SET student_name = 'Invalid ID';
ELSE
SELECT StudentName INTO student_name FROM Student WHERE StudentID = student_id;
END IF;
SELECT student_name;
END;

저장 프로시저는 GetStudentByID라고 하며 입력 매개변수 Student_id를 갖습니다. 먼저 변수 Student_name을 선언한 후 IF 제어문을 사용하여 입력한 학생 ID가 유효한지 확인합니다. 유효하지 않은 경우 "잘못된 ID"를 반환하고, 유효한 경우 데이터베이스를 쿼리하여 찾은 학생 이름을 Student_name 변수에 저장합니다.

  1. 저장 프로시저 생성 및 사용

MySQL을 사용하여 저장 프로시저 생성은 MySQL 명령줄 또는 MySQL Workbench를 통해 수행할 수 있습니다.

MySQL 명령줄에서 다음 명령을 사용하여 저장 프로시저를 만들 수 있습니다.

CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END;

그런 다음 다음 명령을 사용하여 저장 프로시저를 호출할 수 있습니다.

CALL procedure_name();

MySQL Workbench에서 다음 단계를 사용하여 다음 작업을 수행할 수 있습니다. 저장 프로시저 생성:

  1. 왼쪽 측면 창에서 저장 프로시저를 생성하려는 데이터베이스를 선택합니다.
  2. "저장 프로시저" 탭을 클릭하세요.
  3. "저장 프로시저" 목록에서 "새 저장 프로시저"를 클릭하세요.
  4. "CREATE PROCEDURE" 문 상자에 저장 프로시저의 SQL 코드를 작성합니다.
  5. 저장 프로시저를 생성하려면 "적용" 버튼을 클릭하세요.

저장 프로시저를 생성한 후 다음 명령을 사용하여 MySQL 명령줄에서 저장 프로시저를 호출할 수 있습니다.

CALL procedure_name();

MySQL Workbench에서 다음 단계를 사용하여 저장 프로시저를 호출할 수 있습니다.

  1. 왼쪽 창에서 호출할 저장 프로시저 프로세스 데이터베이스.
  2. "저장 프로시저" 탭을 클릭하세요.
  3. "저장 프로시저" 목록에서 호출할 저장 프로시저를 찾으세요.
  4. "CALL" 문 상자에 저장 프로시저의 매개변수(있는 경우)를 입력합니다.
  5. 저장 프로시저를 호출하려면 "CALL" 버튼을 클릭하세요.
  6. 결론

MySQL 저장 프로시저는 SQL 코드를 데이터베이스에 저장하는 방법입니다. 저장 프로시저를 사용하면 복잡한 SQL 쿼리나 일반적으로 사용되는 SQL 코드 블록을 데이터베이스에 저장하여 나중에 다시 사용하거나 쿼리 효율성을 높일 수 있습니다. 이 문서에서는 MySQL 저장 프로시저의 기본 구문, 매개변수, 변수 및 제어문을 사용하는 방법, 저장 프로시저를 생성하고 호출하는 방법을 소개합니다. 이 기사가 MySQL 저장 프로시저를 이해하고 이를 실제 작업에 사용하여 데이터베이스 작업의 효율성을 높이는 데 도움이 되기를 바랍니다.

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

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