2011-08-23 5 views
-8

사람이 말해 줄 수 : SQL에서업데이트 테이블

을 나는 두 테이블에서 동일한 데이터를 데이터를 삽입 을 원하는 경우에만 데이터 다른 테이블 (표 2)에서 표에 데이터를 삽입 할 필요가있을 것입니다 table1에서 자동으로 업데이트되었습니다. 조건 적용 : 트리거를 사용하지 않고 ..

+3

왜 ? 그리고 당신은없이 가능하다는 것을 무엇을 생각하게? –

+3

라훌, 당신은 좀 더 컨텍스트를 제공 할 수 있습니까? 어떤 사업 목표는 달성하기 위해 노력하고있다? 왜 트리거가 옵션이 아닌가? –

+0

트리거를 사용하지 수 있지만 트리거없이 두 개의 테이블에 동일한 데이터를 삽입 할 경우, 그것은 가장 즉, 응용 프로그램 계층을 통해 처리 왜 확실하지. 클라이언트 응용 프로그램에서 삽입을 처리하도록하고 삽입 중 하나 또는 둘 모두가 실패 할 경우 한 트랜잭션에서 모든 작업을 수행해야합니다. – deutschZuid

답변

3

이 항목을 "자동"으로 간주할지 모르겠으나 output 절을 사용하여 하나의 문에서 수행 할 수 있습니다. 트리거를 사용하지 않고

insert into Table2 (ID, Col1, Col2) 
select ID, Col1, Col2 
from (
     insert into Table1 (ID, Col1, Col2) 
     output inserted.ID, 
      inserted.Col1, 
      inserted.Col2 
     values (1, 'Col 1', 'Col 2') 
    ) as T 
+0

좋은 아이디어, 당신은 또한 문법에 출력을 사용할 수 있습니다 : 삽입 into table1 출력. * table2 값 (1, 'col1', 'col2') – jon