을 위반하지 않고 두 개의 DB 행 스와핑 나는 테이블 regionkey
있습니다. 이 테이블에는 고유 제한 조건이있는 (region, locale)에 대한 색인이 있습니다.제약
101 MICH DETR
102 ILLI CHIC
그리고 내가 함께 바람 그래서 나는 그들 사이에 필드를 (지역, 로케일)을 교체해야합니다 :
101 ILLI CHIC
102 MICH DETR
문제는 그 두 가지 기록을 가지고있다 이 지역 및 지역에 고유 인덱스를 위반 순진한 접근 방식은 작동하지 않습니다
update regionkey
set region='ILLI', locale='CHIC' where areaid = 101; -- FAILS
update regionkey
set region='MICH', locale='DETR' where areaid = 102;
내가 어떻게 할 수 있습니까? 스왑을 만드는 원자 적 방법이 있습니까? 제안?
이것은 작업하기에 충분할 정도로 미칠 수도 있습니다. 거래 내에서 포장해야한다고 생각하십니까? – Broam
어쨌든 하나의 인서트는 암시 적 트랜잭션 하나임 – gbn
보다 조금 빠름, @gbn ;-) – karlgrz