SQL 服务器:从列中存储的 csv 字符串批量插入
SQL Server : bulk insert from csv string stored in column
我将 csv 字符串存储在数据 table 中。我稍后需要从该 csv 创建一个临时 table,但 BULK INSERT
只提供一个文件名作为数据源。
是否可以从字符串导入?
谢谢和问候
加布里埃尔
一般来说,不希望在 SQL 服务器 table 中存储未规范化的 CSV 数据。这使得查询和使用数据变得非常困难。话虽如此,有时我们不得不忍受糟糕的设计决策。话虽如此,您可以尝试将 CSV 列写入文件。从 SSMS 的查询菜单中选择 SQLCMD
模式,然后键入以下内容:
:OUT c:\path\to\your\file.csv
SET NOCOUNT ON;SELECT csv_column FROM dbo.yourTable
现在您已经有了真正的 CSV 文件,您应该可以使用 BULK INSERT
。请注意,我在这里假设您要导入的 CSV 数据包含在单个列中 csv_column
,并且数据格式正确(例如,每条记录具有相同数量的逗号等)。
我将 csv 字符串存储在数据 table 中。我稍后需要从该 csv 创建一个临时 table,但 BULK INSERT
只提供一个文件名作为数据源。
是否可以从字符串导入?
谢谢和问候
加布里埃尔
一般来说,不希望在 SQL 服务器 table 中存储未规范化的 CSV 数据。这使得查询和使用数据变得非常困难。话虽如此,有时我们不得不忍受糟糕的设计决策。话虽如此,您可以尝试将 CSV 列写入文件。从 SSMS 的查询菜单中选择 SQLCMD
模式,然后键入以下内容:
:OUT c:\path\to\your\file.csv
SET NOCOUNT ON;SELECT csv_column FROM dbo.yourTable
现在您已经有了真正的 CSV 文件,您应该可以使用 BULK INSERT
。请注意,我在这里假设您要导入的 CSV 数据包含在单个列中 csv_column
,并且数据格式正确(例如,每条记录具有相同数量的逗号等)。