데이터베이스에서 트리거의 정의와 그 기능 및 예제에 대해 알아보기
데이터는 정보로 변환 될 수 있습니다데이터베이스를 사용하는 데 필요했습니다. 처음에는 데이터가 다양한 실행 명령을 사용하여 정보로 변경 될 변수 모음으로 구성됩니다. 이렇게하면 데이터 실행이 완료 될 때까지 데이터를 저장하기 위해 데이터베이스 관리가 필요합니다.
현재 대부분의 데이터베이스 관리 시스템인기는 MySQL입니다. 많은 사용자가 MySQL을 사용하는 많은 이유 중 하나는 오늘날 사용 가능한 다양한 MySQL 프로그래밍 언어에서 거의 지원됩니다.
MySQL에서 데이터베이스는테이블 시설 활용. 테이블 외에도 MySQL에는 트리거 기능 중 하나가 장착되어 있습니다. 그렇다면 트리거의 의미를 알고 있습니까? 트리거라는 용어는 여전히 듣지 못할 수도 있습니다. 그러나 트리거는 테이블에서 다양한 조작이 발생할 때 수행되는 명령 콜렉션이됩니다.
이 기사에서는트리거 이해, 트리거 기능 및 MySQL에서 트리거 적용의 일부 예. 이렇게하면 트리거에 대한 자세한 내용을보다 잘 알게됩니다. 다음은 트리거 정의에 대한 첫 번째 논의입니다.
트리거 이해
DBMS에서 (데이터베이스 관리 시스템), 트리거는 스크립트의 모음입니다.실행되는 이벤트가있을 때 자동으로 실행되는 테이블, 뷰 또는 구성표와 관련됩니다. 이 이벤트에는 일반적으로 데이터베이스를 처리 할 때 수행되는 작업이 포함됩니다.
- DELETE, INSERT 또는 UPDATE가 포함 된 DML (Data Manipulation Language)
- CREATE, ALTER 또는 DROP을 포함하는 DDL (Data Definition Language)
- SERVERERROR, LOGON, LOGOFF, STARTUP 또는 SHUTDOWN과 같은 기타 데이터베이스 작업)
간단히 말해서 트리거를 생성하는 명령은 다음과 같습니다.
[삽입 / 업데이트 / 삭제]
ON nama_table
각 행
시작
// 트리거
끝;
트리거 작성시 일반 명령 양식에 대한 설명은 다음과 같습니다.
- nama_trigger : MySQL의 명명 특성에 따라 생성 된 트리거 이름
- [BEFORE | AFTER] : 행 데이터 테이블 변경 전후에 트리거를 자동으로 실행하는 시간을 표시합니다. 선택은 AFTER 또는 BEFORE입니다.
- [삽입 | 업데이트 | DELETE] : 트리거를 유발 한 이벤트를 판별하는 데 사용되며, 이벤트 선택은 INSER, UPDATE 및 DELETE로 구성됩니다.
- nama_table : 트리거가 수행 할 테이블을 나타냅니다.
- trigger_body : 이벤트가 활성화되면 자동으로 실행되는 MySQL의 명령문을 표시합니다.
일반적으로트리거는 명령 일뿐입니다. 그러나 여러 명령을 작성하려면 BEGIN ... END 블록에 명령을 사용하십시오. 레코드 테이블에서 변경이 발생할 때 트리거 사용이 발생합니다. 이렇게하면 레코드에 대한 참조 (OLD 및 NEW)를 추가해야합니다. OLD는 변경이 발생하기 전에 참조 레코드를 나타내고 OLD는 변경이 발생한 후 참조 레코드를 나타냅니다.
트리거 기능
일반적으로 관계형 데이터베이스에서 트리거는테이블 실행 명령을 실행할 때 발생했습니다. 간단한 프로그래밍 작성을 유지하고 데이터베이스에서 정보의 일관성을 유지할 수있는 더 유용한 트리거가됩니다. 또한 아래에서 설명 할 몇 가지 트리거 기능이 있습니다.
1. 데이터 무결성
방아쇠로 방어 할 수 있습니다데이터베이스에 포함 된 테이블 무결성. INSERT, UPDATE 및 DELETE와 같은 데이터베이스 처리와 관련된 작업을 수행 할 수 있기 때문에
2. 오류 방지
MySQL의 트리거는 데이터 작업의 오류를 방지 할 수 있습니다. 트리거를 정의 할 때 오류가 발생하면 오류가 현재 트리거를 방해하지 않습니다.
3. 작업을 예약합니다
트리거가 실행되면 액세스 방법을 혼동하지 않고 다양한 프로그래밍 언어를 사용할 수 있습니다.
4. 승인되지 않은 거래 프로세스 방지
실제로 일반적인 트리거는거래 프로세스를 수행합니다. 데이터를 업데이트하거나 삭제하더라도 걱정할 필요없이 트랜잭션 레코드를 다른 테이블 (이력)에 저장할 수 있습니다. 발생하는 모든 변경 사항은 제조 시간에 따라 무작위로 지정할 수 있습니다.
트리거 예
트리거의 의미를 이해 한 후저자는 기능과 함께 데이터베이스에서 트리거 사용에 대한 몇 가지 예를 제공합니다. 일반적으로 INSERT, UPDATE 및 DELETE 이벤트를 사용하여 트리거를 활성화 할 수 있습니다. 자세한 내용은 아래에서 이벤트 적용의 일부 예에 대해 설명합니다. 그러나 먼저 데이터베이스에 여러 테이블을 작성해야합니다.
1. 판매 테이블
sell_INT INT (8) NOT NULL AUTO_INCREMENT,
VARCHAR customer_code (10) NOT NULL,
code_brg VARCHAR (5),
VARCHAR item_name (35),
INT (6)의 수
INT 가격 (12)
기본 키 (sales_id);
2. 구매 테이블
INT_8 (8) NOT NULL AUTO_INCREMENT 구매,
code_brg VARCHAR (5),
VARCHAR item_name (35),
INT (6)의 수
INT 가격 (12)
기본 키 (id_buy);
3. 상품 테이블
id_brg INT (8) NOT NULL AUTO_INCREMENT,
VARCHAR item_name (35),
INT (6)의 수
기본 키 (id_brg);
다음과 같은 트리거 사용법을 알아야합니다.
a. 삽입 트리거 전에
이 트리거에는 테이블에 데이터 추가 (삽입) 프로세스가 완료되기 전에 트리거 태스크를 실행하는 기능이 있습니다. 다음은 MySQL의 트리거 구문입니다.
삽입하기 전에
각 행마다 nama_table
시작
// 변수 선언
끝;
예를 들어 확인하려는 경우품목 테이블에 새로운 품목 데이터를 추가하는 작업. 이전에 항목을 입력 한 경우 "항목 ID가 이미 있습니다"라는 경고가 나타납니다. 그런 다음 간단한 명령은 다음과 같습니다.
삽입하기 전에
각 행에 대한 상품
시작
존재하지 않는 경우 (id_brg = NEW.id_brg 항목에서 id_brg 선택)
그때
새 항목 설정 항목 이름 = 새 항목 이름 NEW 번호 = NEW 번호
다른
SET @status = CONCAT (‘ID’, NEW.id_brg,‘이미 존재합니다’);
END IF;
b. 삽입 후 트리거
이 트리거에는 테이블에 데이터 추가 (삽입) 프로세스가 완료된 후 트리거 태스크를 실행하는 기능이 있습니다. 다음은 MySQL의 트리거 구문입니다.
삽입 후
각 행마다 nama_table
시작
// 변수 선언
끝;
예를 들어, 판매 된 상품의 데이터를 추가하려는 경우 품목 테이블의 금액이 자동으로 줄어 듭니다. 그런 다음 MySQL의 트리거 명령은
삽입 후
각 행에 대한 판매
시작
업데이트 항목
SET 금액 = NEW. 금액
id_brg = NEW.id_brg,
끝;
c. 트리거 업데이트 전
이 트리거에는 테이블의 데이터 변경 (업데이트) 프로세스가 완료되기 전에 트리거 작업을 실행하는 기능이 있습니다. 다음은 MySQL의 트리거 구문입니다.
업데이트하기 전에
각 행마다 nama_table
시작
// 변수 선언
끝;
예를 들어 Id_brg =item_name = "Plate"인‘BRG001’ BEFORE UPDATE 명령을 사용하면 항목 이름이 "Glass"로 변경됩니다. 위의 경우에 적합한 명령은 다음과 같습니다.
각 행에 대한 상품 업데이트 전에
시작
업데이트 항목
SET item_name =‘유리’
id_brg =‘BRG001’; SET @status = CONCAT</ p>
끝;
d. 트리거 후 차용
이 트리거에는 테이블에서 데이터 삭제 (삭제) 프로세스가 완료되기 전에 트리거 작업을 실행하는 기능이 있습니다. 다음은 MySQL의 트리거 구문입니다.
삭제 후
각 행마다 nama_table
시작
// 변수 선언
끝;
예를 들어, 품목 레코드를 삭제하려고합니다id_brg = 'BRG001'와, nama_barang = '유리'. 그런 다음 삭제 된 데이터 항목에 따라 상품 재고가 자동으로 증가합니다. DELETE AFTER의 구문에 대해서는 다음과 같습니다.
각 행에 대한 상품 업데이트 전에
시작
업데이트 항목
SET 금액 = 금액 + OLD 금액
id_brg = 오래된 곳;
끝;
그것이 트리거 이해에 관한 토론입니다.MySQL을 사용하여 트리거를 적용하는 예제와 함께 함수. 저자는 위의 기사가 트리거를 올바르게 이해하고 예제를 작성하는 데 도움이되기를 바랍니다.