SQL Server 2005: 여러 테이블을 효율적으로 업데이트
SQL Server 2005는 단일 문 내에서 여러 테이블 업데이트를 직접 지원하지 않습니다. 그러나 이를 달성하는 두 가지 효과적인 전략은 바로 트랜잭션과 일괄 업데이트입니다.
방법 1: 트랜잭션 업데이트
거래는 원자성을 보장합니다. 모든 업데이트가 성공하거나 전혀 업데이트되지 않습니다. 업데이트가 실패하면 모든 변경 사항이 롤백됩니다. 이를 관리하려면 BEGIN TRANSACTION
및 COMMIT
을 사용하세요.
BEGIN TRANSACTION; UPDATE Table1 SET Table1.LastName = 'DR. XXXXXX' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; UPDATE Table2 SET Table2.WAprrs = 'start,stop' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; COMMIT;
(참고: 원래 예에서는 암시적 조인을 사용했습니다. 이 수정된 예에서는 명확성과 가독성을 높이기 위해 명시적 INNER JOIN
을 사용했습니다.)
방법 2: 일괄 업데이트
일괄 업데이트는 단일 데이터베이스 호출에서 여러 문을 실행하여 잠재적으로 성능을 향상시킵니다. GO
문을 구분 기호로 사용하세요.
BEGIN TRANSACTION; UPDATE Table1 SET Table1.LastName = 'DR. XXXXXX' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; GO UPDATE Table2 SET Table2.WAprrs = 'start,stop' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; COMMIT;
GO
명령은 업데이트를 단일 배치로 분리하여 실행합니다. GO
은 표준 SQL의 일부가 아닌 클라이언트측 명령이라는 점을 기억하세요. 그 효과는 SQL 클라이언트 도구에 따라 다릅니다.
귀하의 필요에 가장 적합한 방법을 선택하세요. 트랜잭션은 데이터 무결성을 보장하며 일괄 업데이트는 성능상의 이점을 제공합니다.
위 내용은 단일 SQL Server 2005 문에서 여러 테이블을 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!