테이블 구조의 값을 삽입, UPSERT과 통합 :하지 테이블
CREATE TABLE [dbo].[LockOfferByOfferUses](
[OfferID] [int] NULL,
[OfferCode] [varchar](50) NULL,
[LockCounter] [int] NULL,
[UpdatedDate] [datetime] NULL
) ON [PRIMARY]
SQL의 statemnt :
merge into LockOfferByOfferUses as Target
using (Select * from LockOfferByOfferUses Where OfferID=123 And OfferCode='abc') as Source
on Target.OfferID = Source.OfferID
when NOT MATCHED then
INSERT (OfferID,OfferCode,LockCounter,UpdatedDate) VALUES (123,'abc',1,GETDATE())
when MATCHED then
update set Target.LockCounter=Target.LockCounter+1;
어떤 메신저 기록에 의해 "LockOfferByOfferUse"에 존재하는지 확인되는 일을하려고 offerID. 존재하지 않으면 레코드를 삽입하십시오. 존재하는 경우 "LockCounter"열을 업데이트하십시오.
업데이트 부분이 작동하지만 삽입이 작동하지 않습니다. "(0 행 영향을 받았습니다)"라는 메시지가 표시됩니다. 오류 메시지가 없습니다.
정말 도움이 되겠습니까.
이 절과 일치하는 행이 없을 수 있습니다. 'Select * from LockOfferByOfferUses OfferID = 123 And OfferCode ='abc'' – TheGameiswar
알기 어려운 데이터를 보지 않고. 쿼리는 괜찮아 보입니다. –
@ TheGameiswar, 네, 데이터가 없습니다. 그래서 그 이유는 무엇입니까? – black