2010-07-29 2 views
0

SQL 2005 데이터베이스가 있습니다.id 필드를 보존하면서 다른 db의 삭제 된 행을 다시 넣습니다.

그 중 하나에서 행을 삭제했으며 그 행의 백업이었던 다른 데이터베이스에서 다시 가져 오려고합니다.

id 기본 키 ID 필드를 유지하면서 어떻게 isnert합니까?

이렇게하려면 TSQL에 을 부여 할 수 있습니까? "tbrPdata"및 "tbr0910"은 백업이라고 가정합니다.

말콤

답변

2

사용 SET IDENTITY_INSERT :이 오류 "테이블 'tbrPdata.dbo.Employees'의 ID 열에 명시 적 값 열 목록을 사용하는 경우에만 지정할 수 있습니다를 얻을

SET IDENTITY_INSERT tbrPdata.dbo.TABLE ON 
GO 

INSERT INTO tbrPdata.dbo.TABLE 
    (col1, col2, col3,...) 
SELECT t.col1, t.col2, t.col3,... 
    FROM tbr0910.dbo.TABLE t 
    WHERE t.id = ? 

SET IDENTITY_INSERT tbrPdata.dbo.TABLE OFF 
GO 
+0

및 IDENTITY_INSERT가 ON 임 " – Malcolm

+3

INSERT INTO와 SELECT * 사이의 필드 목록을 (COL1, Col2, Col3) 형식으로 추가하십시오. * 또한 실제 필드 이름으로 * 바꿉니다. – JohnFx

+0

@Malcolm : 업데이트 됨 - 테이블에 대한 열 목록을 제공하지 않았기 때문에 JohnFx의 설명을 참조하십시오. –

관련 문제