«merge» 태그된 질문

1
대상 테이블의 서브 세트를 병합
MERGE명령문 을 사용하여 테이블에서 행을 삽입하거나 삭제 하려고 하지만 해당 행의 하위 집합에만 작용하고 싶습니다. 에 대한 설명서 MERGE에는 매우 강력한 경고가 있습니다. 일치 목적으로 사용되는 대상 테이블의 열만 지정해야합니다. 즉, 목표 테이블에서 소스 테이블의 해당 컬럼과 비교되는 컬럼을 지정하십시오. AND 절 target_table.column_x = value를 지정하는 등의 ON 절에서 대상 …

2
단일 쿼리를 사용하여 삽입하거나 업데이트하는 방법은 무엇입니까?
기본 키와 자동 증가 및 이름이있는 열 id가있는 테이블 테스트가 있습니다. 레코드가없는 경우에만 annd 인 경우 새 레코드를 삽입하고 싶습니다. 입력은 id = 30122이고 name = john ID가 30122 인 레코드가 있으면 이름 열을 john으로 업데이트하고 레코드가없는 경우 새 레코드를 삽입합니다. 나는 2 개의 쿼리를 사용하여 할 수있다 select * …


4
문 교착 상태 자체 병합
다음 절차가 있습니다 (SQL Server 2008 R2). create procedure usp_SaveCompanyUserData @companyId bigint, @userId bigint, @dataTable tt_CoUserdata readonly as begin set nocount, xact_abort on; merge CompanyUser with (holdlock) as r using ( select @companyId as CompanyId, @userId as UserId, MyKey, MyValue from @dataTable) as newData on r.CompanyId = newData.CompanyId and r.UserId …

1
Merge 문의 잠금 옵션은 무엇입니까?
MERGE명령문 을 수행하는 저장 프로 시저가 있습니다. 병합을 수행 할 때 기본적으로 전체 테이블을 잠그는 것처럼 보입니다. 다른 저장 작업을 수행하는 트랜잭션 내 에서이 저장 프로 시저를 호출하고 영향을받는 행만 잠그기를 바랍니다. 나는 힌트를 시도했지만 MERGE INTO myTable WITH (READPAST)덜 잠그는 것처럼 보였다. 그러나 ms doc에는 기본 키조차 무시하고 중복 …

2
조건부 INSERT 및 SELECT보다 OUTPUT이있는 MERGE가 더 나은 방법입니까?
"존재하지 않는 경우 삽입"상황이 종종 발생합니다. Dan Guzman의 블로그 에는이 프로세스를 스레드로부터 안전하게 만드는 방법에 대한 훌륭한 조사가 있습니다. 문자열을 a의 정수로 간단히 카탈로그 화하는 기본 테이블이 SEQUENCE있습니다. 저장 프로 시저에서 값이있는 경우 정수 키를 INSERT얻거나 결과 값을 가져와야합니다. dbo.NameLookup.ItemName열에 고유 제약 조건이 있으므로 데이터 무결성이 위험하지 않지만 예외가 발생하지는 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.