데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

트리거내의 update문 문의

aspa77 2016.11.09 15:31 Views : 2641

프로그램 상에서는

update A

   set edit = 'Y'

where date = '2016.11.09'

이렇게 SQL문을 써서 업데이트 하구여

업데이트 대상건수는 30000건 정도 됩니다.


A  테이블의 트리거에

A테이블의 edit필드에  "Y" 값이 업데이트되면

   B,테이블이 업데이트  되게했습니다

select  @seq = seq, @edit = 'Y'  from inserted

if update(edit) and @edit = 'Y'

  begin

     update B

         set  count  =  count  + 1

     where  seq = @seq

 end


이런식으로 트리거에 작성해서 업데이트 됐는데여

어느순간부터 데이터가 업데이트 안되서


DECLARE  A_edit CURSOR FOR 

select seq

   from inserted

OPEN A_edit 
  FETCH  NEXT FROM A_edit 
  INTO @seq

       update B

         set  count  =  count  + 1

     where  seq = @seq

FETCH  NEXT FROM A_edit 
     INTO @seq
 END                                                                
   CLOSE A_edit 

이런식으로 커서문으로 변경 해줘야 되던데여

그사이 바꾼건 A 테이블의 edit 필드를 인덱스로 생성 한겁니다


인덱스로 잡은 필드에 대한 업데이트는

아래와같이 커서문을 써야 되는건가여?







XE Login