2013-02-19 2 views
0

테이블이 바로 Table1이라고 말하면, Table2의 삽입을 위해 트리거되므로 Table1의 데이터가 Table2에 삽입됩니다.
문제는 Table1의 데이터가 변경 될 때마다 이전의 트리거에서 Table2의 데이터도 변경되었습니다.
이전 트리거에서 이미 존재하는 데이터를 그대로두고 변경하지 않으려합니다.트리거가 이미 존재하는 데이터를 변경하지 않습니다.

모든 솔루션? 이 코드는 .whenever TAB1 전체 데이터에 삽입 이벤트가 화재 tab2.previously 삽입에 삽입 새로 TAB1로부터 행의 삽입과 함께 TAB2에서 중복 값을 삽입해야 확신

create trigger trig_change on Table1 
for insert 
begin 
    insert into Table2 
    select * from table1 
end 
+0

경기 수 트리거 – Meherzad

+0

@Meherzad의 코드를 게시, 내 코드 단순한 삽입 트리거, 내가 알고 싶은 내 상황을 해결하기 위해 코딩의 몇 가지 방법이 있는지 – user2063311

+0

그것의 소리에서, 방아쇠에 나쁜 where 절처럼 보입니다. 얼마나 간단한 지 트리거 코드를 여기에 게시하십시오. – Raj

답변

2

: 여기

내 코드입니다 tab2의 데이터는 동일하게 유지됩니다 (tab1에서 변경하는 동안 변경되지 않음). 그래서 코드 내부에서 약간의 변경을 할 필요가 있습니다. pls는 defult 테이블 (삽입)을 사용합니다. 다음은 변경되는 코드이 당신을 도울 수 있습니다 희망 :

create trigger trig_change on Table1 
for insert 
begin 
    insert into Table2 
    select a.* from table1 a,inserted i 
    where a.col1=i.col1 

end 
관련 문제