TRIGGER 구현 방법 0 3 1,378

by 정태웅 [PL/SQL] [2022.03.23 15:02:04]


특정 테이블(TM_PT_MSR)에 ID 값이 JC202117이면 JC202117에 해당하는 정보가 INSERT되고 나서 

ID 값을 JC202199로 변경하여 똑같이 TM_PT_MSR TABLE에  INSERT하는 방법 문의 드립니다. 

by 마농 [2022.03.23 15:23:59]

1. 해당 테이블의 PK 는 뭔가요?  ID 인가요? 다른 항목 인가요?
2. ID 는 한가지 값만 특정되는 건가요?
3. 트리거는 보통 a 테이블 입력시 b 테이블에도 입력할 때 사용됩니다.
- a 테이블 입력시 다시 a 테이블 입력하는 것은 트리거에서는 불가능 합니다.
- 무한루프를 방지하기 위해 오류를 냅니다.


by 정태웅 [2022.03.23 15:28:35]

PK값은 ID, 생성일자 입니다. 


by 마농 [2022.03.23 16:37:30]

위 댓글에 언급했듯이 트리거는 불가합니다.
1) 어플리케이션 단계에서 두번 입력하도록 프로그래밍 하는 방안
2) INSERT 대신 INSERT ALL 구문을 사용하여 제어하는 방안
3) 입력용 프로시져를 만들어 그안에 로직을 넣고 호출하는 방안
4) 뷰를 통해 INSERT 하고 해당 뷰에 INSTEAD OF TRIGGER 를 거는 방안
5) 실시간 입력이 아닌 배치성으로 하루 한번 추가 입력 시키는 방안
6) 기타 등등

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