MySQL은 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. MySQL은 데이터를 저장하고 관리하는 데 사용할 수 있으며 다양한 프로그래밍 언어와 운영 체제를 지원하며 확장성이 뛰어납니다.
MySQL 프로시저와 함수는 개발자가 복잡한 SQL 쿼리를 구조화된 방식으로 작성하고 구성할 수 있는 유용한 도구입니다. MySQL 저장 프로시저는 일련의 SQL 문으로 구성된 코드 블록입니다. 함수도 코드 블록이지만 값만 반환합니다.
이 글에서는 MySQL에서 프로시저와 함수를 생성하고 호출하는 방법과 저장 프로시저와 함수를 작성하는 방법을 소개합니다. 또한 이 기사에서는 독자가 이러한 기능의 사용을 더 잘 이해할 수 있도록 MySQL 프로시저 및 기능의 몇 가지 예를 제공합니다.
MySQL은 저장 프로시저 및 함수 생성을 위해 CREATE PROCEDURE 및 CREATE FUNCTION이라는 두 가지 명령을 제공합니다. 이러한 명령을 사용하려면 프로시저나 함수의 이름과 매개변수, 그리고 프로시저나 함수에 포함될 수 있는 SQL문을 지정해야 합니다.
저장 프로시저를 생성하는 구문은 다음과 같습니다.
CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) BEGIN proc_body; END;
그 중 DEFINER 매개 변수는 프로세스의 소유권을 가진 사람을 지정하며 기본값은 현재 사용자입니다. PROCEDURE 키워드 뒤에는 프로시저 이름이 오고 프로시저의 매개변수는 괄호 안에 지정됩니다.
다음은 간단한 MySQL 저장 프로시저입니다.
CREATE PROCEDURE simple_sp (IN x INT, OUT y INT) BEGIN SET y = x * x; END;
저장 프로시저의 이름은 simple_sp입니다. 이 프로시저는 입력 매개변수 x와 출력 매개변수 y를 사용하여 출력에 입력 매개변수 x를 할당합니다. 매개변수 y.
함수 생성 구문은 저장 프로시저 생성과 유사합니다. 다음은 간단한 MySQL 함수입니다.
CREATE FUNCTION simple_func (x INT) RETURNS INT BEGIN RETURN x * x; END;
함수 이름은 simple_func이며, 입력 매개변수 x를 가져와 매개변수의 제곱을 반환합니다.
저장 프로시저 및 함수 호출 방법은 동일합니다. CALL문을 사용하고 프로시저나 함수의 매개변수를 명령문에 전달하십시오. 다음은 simple_sp 저장 프로시저를 호출하는 예입니다.
CALL simple_sp(3, @y); SELECT @y;
위 명령문은 x의 제곱을 계산하고 그 결과를 y 변수에 저장한 후 y 값을 화면에 출력합니다.
simple_func 함수를 호출하는 구문은 비슷합니다.
SELECT simple_func(3);
이 문은 simple_func 함수를 호출하고 3의 제곱을 반환합니다.
MySQL 프로시저 및 함수에는 IF 문, LOOP 문, WHILE 문 등을 비롯한 여러 SQL 문과 흐름 제어 문이 포함될 수 있습니다.
다음은 직원 테이블에서 가장 높은 급여를 받는 직원을 선택하는 MySQL 저장 프로시저의 예입니다.
CREATE PROCEDURE get_highest_salary () BEGIN DECLARE highest_salary DECIMAL(10,2); DECLARE emp_id INT; SELECT MAX(salary) INTO highest_salary FROM employees; SELECT id INTO emp_id FROM employees WHERE salary = highest_salary; SELECT * FROM employees WHERE id = emp_id; END;
저장 프로시저는 2개의 변수, maximum_salary 및 emp_id를 선언한 다음 직원 테이블에서 가장 높은 급여를 검색합니다. . SELECT 문을 통해 최고 급여를 변수에 저장하고, 또 다른 SELECT 문을 사용하여 급여가 가장 높은 직원의 ID를 emp_id 변수에 저장합니다. 마지막으로, 이 프로세스에서는 급여가 가장 높은 직원의 모든 세부 정보를 선택합니다.
다음은 주어진 age 매개변수를 기반으로 직원 테이블의 직원 수를 반환하는 MySQL 함수의 예입니다.
CREATE FUNCTION get_employee_count (age INT) RETURNS INT BEGIN DECLARE employee_count INT; SELECT COUNT(*) INTO employee_count FROM employees WHERE age = age; RETURN employee_count; END;
이 함수는 직원 수 변수를 선언하고 SELECT 문을 사용하여 직원 수를 계산합니다. 주어진 age 를 입력하고 이 값을 반환합니다.
MySQL 프로시저와 함수는 개발자가 복잡한 SQL 쿼리를 구조화된 방식으로 작성하고 구성할 수 있는 유용한 도구입니다. 저장 프로시저와 함수에는 여러 SQL 문과 흐름 제어 문이 포함될 수 있으므로 코드가 더욱 유연해지고 유지 관리가 쉬워집니다. 이 기사에서는 MySQL에서 저장 프로시저 및 함수를 생성, 호출 및 작성하는 기본 지식을 소개하고 독자가 이러한 함수의 사용을 더 잘 이해할 수 있도록 몇 가지 예를 제공합니다.
위 내용은 MySQL 프로시저와 함수의 몇 가지 예에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!