본문 바로가기

db/maria db

mariaDB merge 문

반응형
mariaDB merge

mariaDB table에 데이터 입력 시 insert 또는 update를 하기 위한 쿼리 merge를 작성하겠습니다.

간단한 테스트를 위해 아래 순서로 작성하였습니다.

  1. 테이블 생성
  2. PROCEDURE 생성
  3. PROCEDURE 실행

 

테이블 생성
CREATE TABLE `user` (
  `id` varchar(100) NOT NULL COMMENT '아이디',
  `name` varchar(100) DEFAULT NULL COMMENT '이름',
  `regi_dd` date DEFAULT NULL COMMENT '등록일',
  `modi_dd` date DEFAULT NULL COMMENT '수정일',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

 

프로시저 생성
  • 간단한 테스트를 위해 PROCEDURE로 만들었습니다.
CREATE PROCEDURE proc_merge(
	p_id varchar(100),
	p_name varchar(100)
)
begin

	INSERT INTO user
		(id, name, regi_dd)
	VALUES (p_id, p_name, current_timestamp())
	ON DUPLICATE KEY UPDATE
		name = p_name, 
		modi_dd = current_timestamp();

END

 

프로시저 실행
  • 아래처럼 PROCEDURE를 두 번 실행했습니다.
call hoho.proc_merge('id1','이름1');
call hoho.proc_merge('id1','이름1변경');

select * from hoho.user;

 

결과

 

반응형

'db > maria db' 카테고리의 다른 글

maria db restore DBeaver error ( maria db 복원 에러)  (1) 2024.09.17
maria db 테이블 명세서 쿼리  (0) 2024.09.06
mariadb dump 백업  (0) 2024.09.03
mariadb dump 복원  (0) 2024.09.03
maria db 생성(dbeaver)  (0) 2024.09.03