여러 SQL Server 테이블에 대한 동시 업데이트
단일 SQL 문 내에서 여러 테이블을 직접 업데이트하는 것은 SQL Server 2005에서 지원되지 않습니다. 그러나 트랜잭션 내에서 UPDATE 문을 래핑하여 여러 테이블에 걸쳐 원자성 업데이트를 수행할 수 있습니다.
예를 들어 설명해 보겠습니다. LastName
열이 특정 값과 일치하는 Table1
의 WAprrs
과 Table2
의 id
을 업데이트해야 한다고 가정해 보겠습니다. 이는 다음 거래 블록을 사용하여 수행할 수 있습니다:
BEGIN TRANSACTION; UPDATE Table1 SET LastName = 'DR. XXXXXX' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; UPDATE Table2 SET WAprrs = 'start,stop' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; COMMIT TRANSACTION;
COMMIT TRANSACTION
문이 필수적이라는 점을 기억하는 것이 중요합니다. 이렇게 하면 두 UPDATE 문이 함께 성공적으로 완료되거나 둘 다 실패하여 데이터 무결성을 유지하고 단 하나의 업데이트만 성공한 경우 발생할 수 있는 불일치를 방지할 수 있습니다. 명시적 JOIN
구문을 사용하는 것이 암시적 조인보다 명확성과 효율성을 위해 선호됩니다.
위 내용은 단일 트랜잭션으로 여러 SQL Server 테이블을 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!