関係の主キーとしてObjectIDを使用するのは得策ではないため、他の列を使用する必要があります。DBMSシーケンスを使用して、バージョン対応フィーチャクラスの主キー列に値を設定することは可能ですか、またはこれを行うにはarcobjectsコードを記述する必要がありますか?
グローバルIDを使用できると聞いたことがありますが、GIS以外のDBAが関連テーブルを管理していると、この考えにしばしば眉をひそめます。
記憶力が乏しく、適切に動作しなかった可能性があるため、答えをコメントに移しました。数年前、addsテーブルで挿入トリガーを使用しようとしました。正しく思い出せば、うまくいきました。新しいフィーチャクラスを追加/バージョン管理するときに新しいトリガーを作成する必要がなかったため(私にとって)簡単だったため、最終的に(そしてすぐに)ArcObjectsソリューション(ストアドプロシージャと呼ばれる)に行きました。
—
ジェイカミンズ
nullチェック付きのAFTER INSERTトリガー(oracle)であったため、新しい行が移動された場合、既存の主キー値が取得されます。nullの場合、データが入力されます。たぶん私は間違っているし、正しく動作していなかったし、気づかなかった。どのデータベースが使用されていますか?
—
ジェイカミンズ
@Jay詳細をお寄せいただきありがとうございます。この質問をする主な理由は、これを行うために記述したarcobjectsコード以外に、この問題に対する他のアプローチがあるかどうかを判断することです。徹底的に調査することなく、私のソリューションが唯一の可能なソリューションであることを誰かに伝えたくありません。もしそうなら、それを維持することはどれほど難しいか。私はたまにストアドプロシージャを記述しますが、そのほとんどはSQLサーバー上にあります。dbarcレベルで(arcobjectsの代わりに)これを行う方法はあると思いますが、すべてのdbmsで厳密に見たことはありません。
—
カーククイケンダル