私はこれにつまずいていて、うまくいけば簡単で、間違って見ています。
フォーマットされたxlsファイルを受け取っています。データを処理し、SQLBulkCopyをテーブルに挿入するC#アプリを用意します。列には5つのペアがあり、1つはURLテキストの説明で、もう1つはURL自体です。これらのURLは、後で2番目の別のテーブルにプルするhtmlまたはpdfファイルを参照します。
無関係なフィールドを除いて、フィールドを含むテーブル[Base]があります。
[ID](identity)
[BaseID]
...他の関連フィールドの束、次に...
[LinkText1]
[LinkURL1]
[LinkText2]
[LinkURL2]
[LinkText3]
[LinkURL3]
[LinkText4]
[LinkURL4]
[LinkText5]
[LinkURL5]
URL /ファイルのストレージは、次のフィールドを持つテーブル[ドキュメント]にあります。
[BaseIdentityID]-[Base]テーブル
[DocIndex]のIDフィールドを参照します-各Baseレコードには1〜5個のURLを入力できます。これは、それがどのURLであるかを知るためのものです。
[MimeType]
[Url]
[Text]
[Content]
[Processed]-ビット-後でURLデータをプルします。これは、そのフラグを立てます。
[Base]テーブルでINSTEADOFトリガーを使用しています。これらのレコードは更新できるため、アーカイブされたデータをテーブルに保持します。トリガーは、挿入しているものを確認し、既存のバージョンに古いフラグを付け、この新しいベースレコードをCurrentVersionとして挿入します。
このトリガーでは、5組のURLデータのそれぞれに基づいて、[Documents]テーブルに新しい行を挿入し、Documentsテーブルの[BaseIdentityID]の[Base]IDIDフィールドに渡します。 LinkURL1の[DocIndex]には1、LinkURL2の[DocIndex]には2など。
私がそれを正確に行う方法を視覚化するのに苦労しています。助言がありますか?挿入するベースレコードのかなり大きなコレクションがある可能性があるため、カーソルの使用を避けようとしています。
ありがとう。