MYSQL(MARIA DB) 트리거 생성 예제

1.입력 시 자동 순번 채우기

MYSQL 내 데이터 삽입 시 문자열을 정수형으로 변환을 시킨 다음 최대값에 1을 더한다

그리고 5자리 문자열로 0을 앞에 채우는 문자열로 만든다 예) 954 -> 00954

만약 wdtcolumn이 비어있으면 만든 문자열을 삽입한다

DELIMITER $$
	CREATE TRIGGER autoInc
	BEFORE INSERT ON wp57_wpdatatable_9
	FOR EACH ROW
	BEGIN
		DECLARE rowcount VARCHAR(5) ;
		SELECT LPAD(max(CONVERT(wdtcolumn,UNSIGNED)) +1,'5','0') INTO rowcount  FROM wp57_wpdatatable_9;
		IF NEW.wdtcolumn IS NULL THEN
			SET NEW.wdtcolumn = rowcount;
		END IF;
	END $$
		

2. 입력 또는 수정 시 데이터 조회하여 채우기

입력 시 생성 트리거

DELIMITER $$
	CREATE TRIGGER InsertHWMODEL
	BEFORE INSERT ON wp57_wpdatatable_31_1_1_1
	FOR EACH ROW
	BEGIN
		DECLARE hwcode VARCHAR(10);
		SELECT wdtcolumn3 INTO hwcode FROM  wp57_wpdatatable_9 WHERE wdtcolumn = NEW.jhwcode;
		SET NEW.jhwmount = hwcode;
	END $$
수정 시 생성 트리거

수정 시 생성 트리거

DELIMITER $$
	CREATE TRIGGER UpdateHWMODEL
	BEFORE UPDATE ON wp57_wpdatatable_31_1_1_1
	FOR EACH ROW
	BEGIN
		DECLARE hwcode VARCHAR(10);
		SELECT wdtcolumn3 INTO hwcode FROM  wp57_wpdatatable_9 WHERE wdtcolumn = NEW.jhwcode;
		SET NEW.jhwmount = hwcode;
	END $$

이 게시물에 대해 평가 해주세요!

결과 0 참여자 0

Your page rank:

리플 남기기