我偶然发现了这个,希望它很容易,我看错了。
我正在接收格式化的 xls 文件。有一个 C# 应用程序来处理数据并将 SQLBulkCopy 插入到我的表中。有 5 对列,一对是 URL 文本描述,一对是 URL 本身。这些 URL 将引用一个 html 或 pdf 文件,我稍后会将其拉入第二个单独的表中。
省略不相关的字段,我有一个包含字段的表[Base]:
[ID] (identity)
[BaseID]
...一堆其他相关字段,然后...
[LinkText1]
[LinkURL1]
[LinkText2]
[LinkURL2]
[LinkText3]
[LinkURL3]
[LinkText4]
[LinkURL4]
[LinkText5]
[链接URL5]
URL/文件的存储将在一个表[Documents]中,其中包含以下字段:
[BaseIdentityID] - 引用 [Base] 表中的 ID 字段
[DocIndex] - 每条 Base 记录可以填写 1 - 5 个 URL。这是为了知道它是哪个 URL。
[MimeType]
[Url]
[Text]
[Content]
[Processed] - 位 - 稍后将提取 url 数据,这会标记。
我在 [Base] 表上使用了 INSTEAD OF 触发器。这些记录可以更新,因此我们将存档数据保留在表中。触发器查看我们正在插入的内容,将现有版本标记为旧版本,并将这个新的基本记录插入为 CurrentVersion。
在这个触发器中,我现在想根据 5 对 URL 数据中的每一对向 [Documents] 表中插入一个新行,并传入 Documents 表中 [BaseIdentityID] 的 [Base] ID 身份字段, LinkURL1 的 [DocIndex] 为 1,LinkURL2 的 [DocIndex] 为 2,等等...
很难想象我将如何准确地做到这一点。有什么建议么?我试图避免使用游标,因为我可以插入大量基本记录。
谢谢。