2010-11-26 5 views
0

저는 SQL Server 2005를 사용하고 있으며 데이터베이스에 2 개의 테이블이 있습니다. 테이블 1의 레코드를 테이블 2에 INSERT 할 수있는 트리거를 작성하려면 어떻게해야합니까? 어떻게해야합니까? VB.Net에 필요합니다. SQL 서버와 이미 연결되었습니다.전에 레코드를 삭제하기위한 트리거

+1

지금까지 작성한 트리거 코드를 게시하십시오. 사람들은 일반적으로 코드를 작성하는 것을 좋아하지 않습니다. –

+0

감사합니다 u ....... 다음번에 나는 기억합니다 ......... –

답변

1

논리적으로 tblB에 삭제 된 레코드를 삽입 할 수 있습니다 DELETE.

따라서 INSERT가 실패하면 DELETE가 롤백됩니다 (적절한 처리와 함께). 처음에 INSERT하면 삭제됩니다.

즉, INSTEAD OF (또는 BEFORE) 트리거를 사용하여 INSERT를 수행 할 수 있지만 트리거에 사용자 고유의 DELETE를 써야합니다. 위에서 설명한 트랜잭션 때문에 AFTER/FOR 트리거를 사용할 수 있습니다. Pankaj Agarwal 님의 답변과 같은 것

1

두 테이블 tblA 및 tblB가 있다고 가정합니다. 모든 기록은 다음 트리거를 사용하여 TBLA에서 삭제할 때 우리는 INSERT 트리거에 의해 생성 된 암시 적 트랜잭션의 일부이기 때문에 중요하지 않습니다 전이나 삭제 한 후인지,

create trigger t1 on tblA 
for delete 
as 
insert into tblB select * from deleted 
관련 문제