Filter by 카테고리

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 $$

이 게시물은 얼마나 유용했습니까?

별을 클릭하여 등급을 매깁니다!

평균 평점 / 5. 투표 수:

지금까지 투표가 없습니다! 이 게시물을 평가하는 첫 번째 사람이 되세요.

리플 남기기