중복 키에 대한 SQL Server 2005의 작업과 유사한 업데이트를 수행 할 수있는 솔루션을 찾고 있습니다.이 작업으로 인해 많은 수의 항목이 삽입되거나 업데이트 될 수 있습니다. SQL Server 2008은 완벽하게 수행 할 수있는 깔끔한 연산을 가지고 있습니다. 문제는 SQL Server 2005에 머물러 있다는 것입니다.
표준 솔루션을 조사했지만 모든 것이 좋지 않습니다. 하나의 항목이 업데이트/삽입됩니다.
누구나 이전 버전의 SQL Server에서 MERGE 동작을 복제하는 방법을 알고 있습니까?SQL Server 2005, 대량 업데이트 또는 삽입
4
A
답변
6
Alex Kuznetsov's blog에는 UPDATE
문의 OUTPUT
절을 사용하는 것이 좋습니다. 블로그 항목 (테스트되지 않음)에서 예제를 바꾸어 말하자면 :
DECLARE @updated_ids table(id int)
UPDATE table
SET ...
OUTPUT inserted.id INTO @updated_ids
FROM table INNER JOIN data-to-insert ON table.id = data-to-insert.id
INSERT INTO table
SELECT ...
FROM data-to-insert
WHERE id NOT IN (SELECT id FROM @updated_ids)
+0
OUTPUT 절을 더 사용하기 시작해야한다! –
+2
성능에 대한 참고 사항으로, 기본 키를 테이블 변수에 추가하면 실행 속도가 크게 빨라집니다. 필자에게 그것은 100k 행의 삽입/업데이트 실행 시간을 4 분에서 ~ 6 초로 줄였습니다. 'declare @updated_ids 테이블 (id int PRIMARY KEY CLUSTERED)' – Tr1stan
관련 문제
- 1. Sql Server 2005 - 삽입 업데이트 트리거 - 업데이트 된 행 삽입
- 2. SQL Server CE의 대량 삽입
- 3. SQL Server 2005에서 대량 삽입 속도 향상
- 4. SQL Server 2005 Reporting Services 포털의 대량 항목 수준 업데이트
- 5. 대량 업데이트/SQL 데이터베이스에 데이터 삽입
- 6. SQL Server 2005 삽입 이미지
- 7. SQL Server 2005 대량 XML 삭제?
- 8. SQL 2005 용 대량 대량 삽입 XML 파쇄 예제를 찾으십시오.
- 9. 대량 업데이트를위한 SQL Server 업데이트 트리거
- 10. SQL 삽입 또는 업데이트
- 11. SQL 대량 삽입 업데이트 - DeadLock 문제
- 12. SQLBulkCopy 또는 대량 삽입
- 13. SQL Server 2005 테이블 변수 업데이트 문제
- 14. 많은 수의 행 업데이트 - SQL Server 2005
- 15. 성능 문제 SQL Server 2005 업데이트 문장
- 16. SQL 대량 삽입 오류 4863
- 17. SQL Server (XML)에서 XML을 통해 행 삽입 또는 업데이트
- 18. 대량 업데이트 및 SQL Server의 커밋주기
- 19. SQL 대량 업데이트, 필드 증분
- 20. SQL Server 2005 액세스 링크
- 21. SQL Server 데이터베이스 테이블 업데이트/삽입
- 22. SQL Server 데이터베이스 삽입/업데이트 TCP 알림
- 23. SQL Server 2005 on SQL Server 2000
- 24. SQL 대량 삽입. 도움이 필요합니다
- 25. SQL Server 2005 데이터베이스의 새 트리거
- 26. SQL 만 사용하여 SQL Server 2005 이미지 필드에 그림 삽입
- 27. MySQL의 대량 삽입 문제
- 28. 자동 업데이트 SQL Server
- 29. csv에서 SQL DB2 대량 업데이트
- 30. SQL Server 2000 - 데이터 집합/C# 모음의 대량 삽입
SQL Server * 2003 *은 무엇입니까? – Heinzi
나쁘다, 2005 버전을 의미했다. –