>  기사  >  데이터 베이스  >  MySql 트리거 및 저장 프로시저: 고급 작업 구현 방법

MySql 트리거 및 저장 프로시저: 고급 작업 구현 방법

PHPz
PHPz원래의
2023-06-15 20:49:20772검색

MySql의 트리거 및 저장 프로시저: 고급 작업 구현 방법

MySql은 웹 애플리케이션 및 엔터프라이즈급 애플리케이션에서 널리 사용되는 인기 있는 관계형 데이터베이스 관리 시스템입니다. 트리거 및 저장 프로시저를 비롯한 다양한 강력한 기능을 제공하므로 사용자는 고급 작업을 쉽게 구현할 수 있습니다. 이 기사에서는 MySql의 트리거 및 저장 프로시저와 이를 사용하여 고급 작업을 구현하는 방법을 살펴보겠습니다.

Trigger

트리거는 데이터베이스에서 지정된 이벤트가 발생할 때 자동으로 실행되는 특수 저장 프로시저입니다. 이러한 이벤트는 INSERT, UPDATE 및 DELETE 문 실행이나 테이블 생성 및 삭제일 수 있습니다. 트리거가 사용하는 선언 구문은 다음과 같습니다.

CREATE TRIGGER Trigger_name {BEFORE/AFTER} Trigger_event
ON table_name FOR EACH ROW
BEGIN
Trigger_body;
END;

여기서, Trigger_name은 트리거의 이름이고, Trigger_event는 트리거 유형(BEFORE/AFTER)의 이벤트, table_name은 트리거가 위치한 테이블의 이름, Trigger_body는 트리거가 실행해야 하는 SQL 문입니다.

다음은 "orders" 테이블에 데이터가 삽입될 때마다 해당 필드에 삽입 시간과 업데이트 시간을 자동으로 채우는 트리거를 생성하는 방법을 보여주는 간단한 예입니다.

CREATE TRIGGERorders_timestamp
BEFORE INSERT ON 주문
FOR EACH
BEGIN
SET NEW.insert_time = NOW();
SET NEW.update_time = NOW();
END;

이 예에서 BEFORE는 트리거가 이전에 실행되었음을 의미합니다. INSERT 문이 실행되면 NEW는 삽입할 행을 나타내는 의사 행입니다.

저장 프로시저

저장 프로시저는 특정 작업을 수행하도록 설계된 미리 컴파일된 SQL 문 집합입니다. 일반적으로 재사용 가능한 프로그램 세그먼트로 간주되며 필요할 때 호출할 수 있습니다. 저장 프로시저는 데이터 분석, 복잡한 프로그램 논리 계산, 보고서 또는 스크립트 생성 등에 사용될 수 있습니다. 저장 프로시저의 선언 구문은 다음과 같습니다.

CREATE PROCEDURE 프로시저_이름()
BEGIN
프로시저_body;
END;

여기서 프로시저_이름은 저장 프로시저의 이름이고 프로시저_바디는 저장 프로시저가 수행해야 하는 SQL 문입니다. 실행하다. 다음은 직원의 급여를 계산하는 저장 프로시저를 만드는 방법을 보여주는 예입니다.

CREATE PROCEDURE 계산_salary (IN 직원 ID INT, OUT 급여 DECIMAL(10,2))
BEGIN
SELECT SUM(금액) INTO 급여 FROM 주문 WHERE 직원 ID = 직원 ID;
END;

이 예에서 IN 및 OUT은 매개변수 유형, Employee_id 및 Salary는 매개변수 이름입니다.

MySql은 트리거와 저장 프로시저를 통해 이해하기 쉽고 유연한 고급 작업 구현 방법을 제공합니다. 웹 애플리케이션을 개발하든 엔터프라이즈급 소프트웨어를 개발하든 이러한 기능은 매우 중요합니다. MySql 트리거 및 저장 프로시저에 대해 자세히 알아보려면 MySql 공식 문서를 참조하세요.

위 내용은 MySql 트리거 및 저장 프로시저: 고급 작업 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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