데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
어떤 테이블에 데이터가 들어오면 insert 트리거가 프로시저를 실행합니다.
프로시저 내용은, 들어온 값을 가공해서 다른 테이블에 넣고, insert된 내용 중 일부를 update하는 프로시저 입니다.
문제는,
몇개의 row만 insert를 하면 트리거 및 프로시저가 정상적으로 동작하는데,
몇백 row를 동시에 insert 하면
메시지 3609, 수준 16, 상태 1, 줄 4
트리거가 발생하여 트랜잭션이 종료되었습니다. 일괄 처리가 중단되었습니다.
하면서 종료됩니다.
모든 insert가 끝난 후 트리거가 동작한다던지 하는 다른 방법이 있을까요?
Comment 1
-
왕만두와우동
2017.01.19 08:39
트리거 상에서 로우별 반복문을 통해 프로시저를 호출하면 해결은 될거같은데, 속도이슈가 있을것 같네요..;;
현명한 고수분의 답변이 있으시길