BizTalk オーケストレーションを開発したいと考えています。オーケストレーションの単一インスタンスで、複数のレコードを複数の DB テーブルに挿入し、複数の DB テーブルから挿入されたレコードを取得する必要があります。この要件では、1 つのインスタンスにデータを挿入できますが、すべてのレコードが各レコードに一意の値を持っているため、そのインスタンスに挿入されたデータを取得するのは困難です。私の状況では、ストアド プロシージャを使用して、他のビジネス ロジックを適用する必要があります。したがって、以下に示すように、ストアドプロシージャを呼び出して「Wcf_Custom Adapter複合機能」を使用する2つの異なる方法があります。
-> Method1
LoadDate("2016-05-12 10:11:22.147") 値を挿入するとともにパラメーターとして受け取るストアドプロシージャを開発する必要があり、そのインスタンスのレコードを挿入することを処理します。指定された LoadDate。次にすぐに、LoadDate("2016-05-12 10:11:22.147") をパラメーターとして取得する Get ストアド プロシージャを呼び出し、LoadDate 値に基づいて DB から最近挿入されたレコードを取得します。
SQLサーバーから日付値に基づいてデータを取得することは悪い習慣であり、パフォーマンスの問題も発生します。
-> Method2
bool データ型の列名 "New" で、値が 0 または 1 になる挿入テーブルを設計します。"New" 列の値を「1」。次に、すぐに Get ストアド プロシージャを呼び出します。これはパラメーターを取りません。次に、DB テーブルから "New" 列インジケーター "1" を持つ最近挿入されたレコードを取得します。データを取得すると、「New」列の値が「0」に更新されます。
私はこの方法を好みます2。しかし、もっと良い選択肢はありますか?