대상 테이블에 원본 테이블에 존재하지 않는 usr_cd
PK 열이 있습니다. 따라서 소스에서 타겟으로 삽입하는 동안 고유 한 코드를 생성하려고합니다. MERGE
진술을 사용할 때 어떻게 이것을 할 수 있습니까?MERGE 내부의 INSERT에서 고유 코드를 생성하는 방법은 무엇입니까?
다음 옵션은 운없이 시도됩니다
- 시퀀스 개체 :
MERGE
내에서 사용할 수 없습니다. - SP 호출 :
INSERT
에MERGE
의 SP를 실행할 수 없습니다. - 함수 호출 : UDF 내에서 시퀀스 개체를 사용할 수 없으므로 도움이되지 않습니다. 또한 테이블에 고유 한 값을 저장하면 UDF 내에서 업데이트 할 수 없습니다.
- 소스 테이블에 코드 추가 : 일부 레코드가 업데이트되고 일부 레코드가 삽입되므로 사용할 수 없으므로 시퀀스가 중단됩니다.
대상 테이블에 기본값을 추가하는 것이 하나의 옵션이지만이를 피하고 싶습니다.
MERGE
을 사용하는 동안 다른 방법이 있다면 알려주세요.
나는 그것을 얻지 않는다. 단순히 ID 열을 사용하지 않는 이유는 무엇입니까? 그것은 이런 종류의 문제에 대한 최선의 해결책입니다. –
@ZoharPeled 삽입 된 레코드를 별도로 추적해야하므로 ID를 사용할 수 없습니다. –