SQL Server에서 INNER JOIN을 사용하여 여러 테이블에서 삭제
MySQL과 달리 SQL Server에서는 다음을 사용하여 여러 테이블에서 삭제하는 구문을 지원하지 않습니다. 내부 조인. 그러나 동일한 결과를 얻을 수 있는 다른 방법도 있습니다.
"삭제된" 의사 테이블 사용
다음 코드 예제를 고려하세요.
begin transaction; declare @deletedIds table ( id int ); delete from t1 output deleted.id into @deletedIds from table1 as t1 inner join table2 as t2 on t2.id = t1.id inner join table3 as t3 on t3.id = t2.id; delete from t2 from table2 as t2 inner join @deletedIds as d on d.id = t2.id; delete from t3 from table3 as t3 ... commit transaction;
이 코드는 "삭제된" 의사 테이블을 활용하여 첫 번째 삭제 문에서 삭제된 ID를 저장합니다. 그런 다음 이러한 ID는 후속 삭제 문에서 다른 테이블의 해당 행을 삭제하는 데 사용됩니다.
기타 고려 사항
위 내용은 INNER JOIN을 사용하여 SQL Server의 여러 테이블에서 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!