> 데이터 베이스 > MySQL 튜토리얼 > SQL Server는 MySQL의 ON DUPLICATE KEY 업데이트와 같은 중복 키를 어떻게 처리합니까?

SQL Server는 MySQL의 ON DUPLICATE KEY 업데이트와 같은 중복 키를 어떻게 처리합니까?

Patricia Arquette
풀어 주다: 2024-12-08 09:56:11
원래의
380명이 탐색했습니다.

How Does SQL Server Handle Duplicate Keys Like MySQL's ON DUPLICATE KEY UPDATE?

SQL Server는 MySQL의 ON DUPLICATE KEY UPDATE와 동일한 기능을 제공합니까?

MySQL에서 ON DUPLICATE KEY UPDATE를 사용하면 새 행을 삽입하는 대신 기존 행을 업데이트하여 키 값을 복제합니다. 이 기능은 고유 키 또는 기본 키 제약 조건을 관리할 때 특히 유용합니다.

SQL Server는 MERGE 문을 통해 이와 유사한 기능을 제공합니다. MERGE 문은 INSERT 및 UPDATE 작업을 단일 명령으로 결합하여 개발자가 지정된 기준에 따라 새 행을 삽입하거나 기존 행을 업데이트할 수 있도록 합니다.

예를 들어 다음 MERGE 문은 rtu_id와 time_local의 조합이 아직 존재하지 않는 경우에만 METER_DATA 테이블. 중복이 있으면 행을 업데이트합니다.

MERGE
INTO MyBigDB.dbo.METER_DATA WITH (HOLDLOCK) AS target
USING (SELECT
    77748 AS rtu_id
   ,'12B096876' AS meter_id
   ,56112 AS meter_reading
   ,'20150602 00:20:11' AS time_local) AS source
(rtu_id, meter_id, meter_reading, time_local)
ON (target.rtu_id = source.rtu_id
  AND target.time_local = source.time_local)
WHEN MATCHED
  THEN UPDATE
      SET meter_id = '12B096876'
         ,meter_reading = 56112
WHEN NOT MATCHED
  THEN INSERT (rtu_id, meter_id, meter_reading, time_local)
      VALUES (77748, '12B096876', 56112, '20150602 00:20:11');
로그인 후 복사

WHEN MATCHED 절은 지정된 조건을 만족하는 기존 행에 업데이트 작업을 수행합니다. WHEN NOT MATCHED 절은 조건을 만족하지 않는 새 행에 대해 삽입 작업을 수행합니다.

SQL Server는 MERGE 문을 활용하여 MySQL의 ON DUPLICATE KEY UPDATE와 유사한 포괄적인 기능을 제공하여 효율적인 처리를 가능하게 합니다. 키 값이 중복됩니다.

위 내용은 SQL Server는 MySQL의 ON DUPLICATE KEY 업데이트와 같은 중복 키를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿