0

您好,我有一个包含批处理标题和详细记录的文件。我想添加一个新列,它将为批次标题分配一个编号,然后获取该编号并将其添加到详细记录中。

第一列中的数据如下所示。

AAA

BBB

BBB

BBB

BBB

BBB

BBB

AAA

BBB

BBB

BBB

AAA

我想要它做的是:数据看起来像这样

AAA - 1

血脑屏障 - 1

血脑屏障 - 1

血脑屏障 - 1

血脑屏障 - 1

血脑屏障 - 1

血脑屏障 - 1

AAA - 2

血脑屏障 - 2

血脑屏障 - 2

血脑屏障 - 2

AAA - 3

4

1 回答 1

0

假设您的文件是要导入 SQL Server 2008 的文本或 CSV 文件:

  • 如果您需要这样做一次,我会在导入之前在 Excel 中处理文件。
  • 如果您需要定期执行此操作,我会在 .NET 中编写一个快速控制台应用程序来为我执行此操作。然后,您可以让应用程序也向 SQL Server 推送,以使其成为一步过程。

如果数据已经在 SQL Server 2008 中,我仍然会考虑在 .NET 中逐个记录地执行此操作。.NET 只是比 T-SQL 更好的顺序处理工具。

如果 T-SQL 是您拥有的唯一工具……可能(使用 ROW_NUMBER())编写几个可以为您执行此操作的批处理更新。但他们很难做到正确。您可能只需要使用游标并尝试顺序处理。

ETA:如果您有可用的 SSIS,您可以编写一个脚本转换来为您执行此操作。这实际上可能是最好的解决方案。

于 2013-02-26T13:43:57.970 回答