現在、Pervasiveで初めての実生活プロジェクトを作成しています。タスクは、注文を含む特定のXML構造(ショップや製品など)を自分で作成した3つのテーブルにマップすることです。これらのテーブルは、MS-SQL-Serverインスタンス内にあります。現在のターゲット接続を使用した動的SQL文の戻り値
すべてのテーブルには、自動的にインクリメントされた「id」という固有のキーがあります。すべてのマッピングからこの列を削除して、Pervasiveがそれ自体を埋めることを試みないようにしました。
テーブルの分割キーと他のテーブルの作成されたレコードへの参照については、データベースが作成したidが必要です。そのために、私は答えを見つけました。私は "select @@ identity"を使うことができます現在の接続に対して最も最近作成されたIDを返します。つまり、Pervasiveでは、すでに存在するターゲット接続オブジェクトを使用してこのステートメントを実行する必要があります。
しかし、それを行う方法は? JDImportまたはDJExportオブジェクトが必要ですが、Pervasiveがレコードを挿入する現在の接続に関連付ける方法はありますか?
他のテーブルのIDを参照する必要がある場合、この自動インクリメントを処理する他の方法はありますか?
通常、テーブルには手動で入力するキーはありません。これをRDBMSに残します。それでも、scope_identity()に関する提案は有効です。私は一見しました。トリガーに行を挿入するスコープが衝突することはありません。したがって、両方のステートメントは同じIDを提供する必要があります。 – 0xCAFEBABE