1. 소개
MySQL은 SQL 문을 사용하여 데이터를 조작하는 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 저장 프로시저는 반복적으로 사용하고 호출할 수 있는 SQL 문의 모음입니다. 이 기사에서는 MySQL 데이터베이스에서 저장 프로시저의 생성, 호출 및 인스턴스 작업을 소개합니다.
2. MySQL 저장 프로시저 생성
MySQL에서 저장 프로시저를 생성하려면
CREATE PROCEDURE procedure_name ([parameter_list]) BEGIN -- put your SQL statements here; END;
procedure_name
: 저장 프로시저 이름을 사용하세요. procedure_name
:存储过程名称。parameter_list
:参数列表,可以为空。BEGIN
和END
:SQL语句的开始和结束符。存储过程可以包含0个或多个参数,语法如下:
CREATE PROCEDURE procedure_name (IN|OUT|INOUT parameter_name data_type)
分别表示传入、传出和传入传出参数类型,parameter_name
和data_type
parameter_list
: 매개변수 목록이며 비어 있을 수 있습니다. BEGIN
및 END
: SQL 문의 시작 및 끝 문자입니다. 저장 프로시저의 매개 변수
저장 프로시저는 0개 이상의 매개 변수를 포함할 수 있습니다. 구문은 다음과 같습니다.CREATE PROCEDURE get_employee (IN employee_id INT) BEGIN SELECT * FROM employee WHERE id = employee_id; END;
parameter_name 및 <code>data_type
은 각각 매개변수 이름과 데이터 유형을 나타냅니다.
예
다음은 매개변수를 사용하여 저장 프로시저를 생성하는 예입니다.CALL procedure_name (parameter_list);
CALL get_employee(1);
CREATE PROCEDURE transfer(IN from_account INT, IN to_account INT, IN amount DECIMAL(10,2)) BEGIN DECLARE from_balance DECIMAL(10,2); DECLARE to_balance DECIMAL(10,2); START TRANSACTION; SELECT balance INTO from_balance FROM account WHERE id = from_account FOR UPDATE; SELECT balance INTO to_balance FROM account WHERE id = to_account FOR UPDATE; IF from_balance < amount THEN ROLLBACK; SELECT 'Insufficient balance' AS message; ELSE UPDATE account SET balance = from_balance - amount WHERE id = from_account; UPDATE account SET balance = to_balance + amount WHERE id = to_account; COMMIT; SELECT 'Transfer succeed!' AS message; END IF; END;
전송 저장 프로시저 생성
🎜CALL transfer(1, 2, 100);
위 내용은 mysql 데이터베이스의 저장 프로시저에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!