이 때문에 좋은 생각이 아니다 관계의 기본 키로하며 Object를 사용하려면 다른 열을 사용해야합니다. DBMS 시퀀스를 사용하여 버전이 지정된 기능 클래스에서 기본 키 열을 채울 수 있습니까, 아니면이를 수행하기 위해 arcobjects 코드를 작성해야합니까?
Global ID를 사용할 수 있다고 들었지만 GIS 이외의 DBA가 유지 관리하는 관련 테이블은 종종이 아이디어에 눈살을 찌푸립니다.
메모리가 부족하고 제대로 작동하지 않았기 때문에 내 대답을 주석으로 옮기는 방법 : 몇 년 전 adds 테이블에서 insert 트리거를 사용해 보았습니다. 내가 정확하게 기억한다면, 그것은 효과가 있었다. 결국 새로운 기능 클래스를 추가 / 버전 할 때 새로운 트리거를 작성할 필요가 없기 때문에 (저장소 프로 시저라고하는) ArcObjects 솔루션으로 이동했습니다.
—
Jay Cummins
null 검사가있는 AFTER INSERT 트리거 (oracle)라고 생각하므로 새 행이 이동하면 기존 기본 키 값을 얻습니다. 널인 경우 채워집니다. 어쩌면 내가 틀렸고 제대로 작동하지 않았고 그것을 깨닫지 못했습니다. 어떤 데이터베이스를 사용하고 있습니까?
—
Jay Cummins
@Jay 감사합니다. 이 질문을하는 주된 이유는 내가 작성한 arcobjects 코드 외에도이 문제에 대한 다른 접근법이 있는지 확인하는 것입니다. 철저히 조사하지 않고 내 솔루션이 가능한 유일한 솔루션이라고 누군가에게 말하고 싶지 않습니다. 그리고 만약 그렇다면, 그것을 유지하는 것이 얼마나 어려운가. 나는 종종 저장 프로 시저를 작성하며 그 대부분은 SQL Server에 있습니다. 나는 arcobject 대신 dbms 레벨 에서이 작업을 수행 할 수있는 방법이 있다고 생각하지만 모든 dbms를 자세히 살펴 본 적이 없습니다.
—
Kirk Kuykendall