2013-02-20 3 views
0

내가 테이블 B에 표 A에서 데이터를 복사 할 수있는 트리거가 작동하지 않습니다 A에 삽입 된 모든 데이터가 B에 복사되는 것은 아닙니다. 복사 된 데이터는 매우 무작위로 보입니다. 주위를 둘러 보았습니다. 다중 삽입으로 인해 발생할 수 있음을 알아 냈습니다. 누군가가 cusor를 사용하여 제안했으나 내 생각에는 괜찮을 것입니다. 삽입 또는이 두 SQL을 사용하여 삭제 된 테이블에서 삭제할 수 있습니다.SQL 서버 INSERT 트리거는

감사합니다.

+0

"멀티 삽입"이란 무엇입니까? –

+0

@IswantoSan 그는 "벌크 삽입 물"을 의미합니다. –

+0

트리거가 삭제 및 삽입에 적합합니다. 업데이트는 어떨까요? –

답변

1

본인의 문제는 확실하지 않지만 방아쇠에 2 개의 "잡았다"가 있습니다. 먼저 삽입 된 테이블에 삭제 된 테이블에 행이 없으므로 삭제가 수행되지 않습니다. 두 번째는 그 반대이고 잠재적으로 당신의 문제입니다. 삭제시 삽입 된 테이블에 행이 없습니다. 그래서 모든 ID는 테이블 B에서 삭제되지만 다시 삽입되지는 않습니다. ID가 테이블 A의 고유 키가 아닌 경우 두 번째 복사본을 삽입하면 테이블 B의 모든 기록을 삭제하고 "새로운"기록 만 추가하게됩니다.

두 테이블의 구조와 트리거의 목적에 대한 자세한 정보를 제공 할 수 있다면 삽입 될 행이나 삽입되지 않을 행에 대한 패턴은 말할 필요도없이 더 많은 도움이 될 수 있습니다.