Insert가 PK로 인해 실패시 작업 질문입니다. 0 2 1,423

by playlyun [SQL Query] Query UPSERT [2018.02.02 12:16:57]


Insert가 PK 로인해 실패한경우 업데이트 작업을 ㅎ려고합니다.

 

UPSERT를 사용하기에는 작업내용이 경우의수가 좀있어서 트리거나 룰을 써야할것같은데

 

INSERT 실패시 트리거나 룰을 발생시킬수있나요?

by 우리집아찌 [2018.02.02 12:57:06]

MERGE INTO 문 사용하세요.

MY-SQL이시면 패쓰..


by 마농 [2018.02.02 13:28:40]

1. insert > exception > update
2. update > if(0 건) > insert
3. select count > if(cnt > 0) (then update else insert)
4. merge (INSERT ~ ON CONFLICT (postgresql 9.5)

1번은 오류가 발생하므로 안좋은 방법이구요.
1번 보다는 2,3번 방법 쓰는 게 좋을 것 같네요.
4번이 가장 좋습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입