MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 다른 관계형 데이터베이스 관리 시스템과 비교할 때 MySQL은 가장 일반적으로 사용되는 시스템 중 하나입니다. MySQL은 저장 프로시저를 통해 복잡한 데이터 처리 및 비즈니스 로직을 수행하여 데이터베이스의 성능과 효율성을 향상시킬 수 있습니다. 다음은 MySQL 저장 프로시저를 실행하는 방법을 설명합니다.
MySQL에서는 "CREATE PROCEDURE" 문을 사용하여 저장 프로시저를 만들 수 있습니다. 구문은 다음과 같습니다.
CREATE PROCEDURE procedure_name ([IN / OUT / INOUT] parameter_name data_type, [...]) BEGIN -- 存储过程体 END;
위치:
예를 들어 다음은 간단한 저장 프로시저의 예입니다.
CREATE PROCEDURE hello_world() BEGIN SELECT 'Hello, World!'; END;
"CALL" 문을 사용해야 합니다. 저장 프로시저를 실행합니다. 구문은 다음과 같습니다.
CALL procedure_name([parameter_value, ...]);
위치:
예를 들어 다음 문을 사용하여 위에서 생성한 hello_world() 저장 프로시저를 실행할 수 있습니다.
CALL hello_world();
실행 결과는 다음과 같습니다.
+-------------+ | Hello, World! | +-------------+ | Hello, World! | +-------------+ 1 row in set (0.00 sec)
IN 매개 변수 사용은 통과할 수 있습니다. 특정 작업을 수행하기 위한 저장 프로시저의 값입니다. 예를 들어 다음 저장 프로시저에서는 IN 매개 변수를 사용하여 지정된 사용자의 세부 정보를 찾습니다.
CREATE PROCEDURE get_user_details(IN user_id INT) BEGIN SELECT * FROM users WHERE id = user_id; END;
저장 프로시저를 실행할 때 사용자 ID를 저장 프로시저에 전달해야 합니다. 예를 들면 다음과 같습니다.
CALL get_user_details(1);
실행 결과는 다음과 같습니다.
+----+----------+---------+------------+ | id | username | country | created_at | +----+----------+---------+------------+ | 1 | john | USA | 2022-05-01 | +----+----------+---------+------------+ 1 row in set (0.00 sec)
OUT 매개변수를 사용하면 저장 프로시저에서 값을 반환할 수 있습니다. 예를 들어, 다음 저장 프로시저는 OUT 매개변수를 사용하여 지정된 사용자의 세부 정보를 반환합니다.
CREATE PROCEDURE get_user_details(IN user_id INT, OUT username TEXT, OUT country TEXT, OUT created_at DATE) BEGIN SELECT username, country, created_at INTO username, country, created_at FROM users WHERE id = user_id; END;
이 저장 프로시저를 실행할 때 사용자 ID를 전달해야 하며 저장 프로시저는 다음에 해당하는 사용자의 세부 정보를 반환합니다. 그 아이디. 예를 들면 다음과 같습니다.
CALL get_user_details(1, @username, @country, @created_at); SELECT @username, @country, @created_at;
실행 결과는 다음과 같습니다.
+----------+---------+------------+ | @username | @country | @created_at | +----------+---------+------------+ | john | USA | 2022-05-01 | +----------+---------+------------+ 1 row in set (0.00 sec)
INOUT 매개변수를 사용하면 저장 프로시저에 매개변수를 전달하고 해당 매개변수를 사용하여 값을 반환할 수 있습니다. 예를 들어 다음 저장 프로시저에서는 INOUT 매개 변수를 사용하여 지정된 사용자의 세부 정보를 업데이트합니다.
CREATE PROCEDURE update_user_details(INOUT user_id INT, IN username TEXT, IN country TEXT, IN created_at DATE) BEGIN UPDATE users SET username = username, country = country, created_at = created_at WHERE id = user_id; END;
이 저장 프로시저를 실행하는 동안 사용자 ID와 업데이트할 세부 정보를 전달해야 합니다. 예를 들면 다음과 같습니다.
SET @user_id = 1; CALL update_user_details(@user_id, 'jane', 'UK', '2022-05-01'); SELECT @user_id;
실행 결과는 다음과 같습니다.
+---------+ | @user_id | +---------+ | 1 | +---------+ 1 row in set (0.00 sec)
보시다시피 저장 프로시저가 사용자 세부 정보를 성공적으로 업데이트하고 사용자 ID를 반환했습니다.
저장 프로시저를 이용하면 MySQL에서 효율적인 데이터 처리와 비즈니스 로직을 수행할 수 있습니다. 이 문서에서는 다양한 유형의 저장 프로시저를 만들고, 실행하고, 사용하는 방법을 설명합니다. 저장 프로시저를 사용하면 MySQL 데이터베이스의 성능과 효율성이 크게 향상되고 비즈니스에 더 나은 지원을 제공할 수 있습니다.
위 내용은 mysql 저장 프로시저 실행의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!