sql-server - 从 @path 批量插入 Tbl
问题描述
我想使用循环遍历数百个文件的循环进行批量插入。但我似乎无法使用变量作为 FROM 路径。我可以使用 FROM @PATH3 还是有其他方法可以批量插入许多文本文件?谢谢
Begin
declare @days as varchar(2) = '06'
declare @path1 varchar(28) ='E:\WorkingTkr Data\_GDPD_02-'
declare @path2 varchar(9) ='-2020.trk'
declare @path3 varchar(40) = @path1+@days+@path2
--print (@path3)
bulk insert [dbo].[GDPD_Trk]
from @path3
WITH
(
FIELDTERMINATOR = ' ',
ROWTERMINATOR = '\n'
)
End
解决方案
尝试使用动态 sql,如下所示:
BEGIN
declare @days as varchar(2) = '06'
declare @path1 varchar(28) ='E:\WorkingTkr Data\_GDPD_02-'
declare @path2 varchar(9) ='-2020.trk'
declare @path3 varchar(40) = @path1+@days+@path2
declare @sqlBulk varchar(max) =
'bulk insert [dbo].[GDPD_Trk] ' + char(13) +
'from ''' + @path3 + '''' + char(13) +
'with' + char(13) +
'(' + char(13) +
' FIELDTERMINATOR = '' '',' + char(13) +
' ROWTERMINATOR = ''\n''' + char(13) +
')'
exec (@sqlBulk)
END
推荐阅读
- r - Hackerrank 测试题:从 IRIS 数据集中找到最大列值的总和
- reactjs - 调用 setInterval 时反应应用程序冻结
- java - 具有多线程支持的应用程序启动和停止功能
- python - 如何使用 BeautifulSoup 将多个 HTML 标签写入具有不同属性的列表?
- java - 其他映射中使用的 Mapstructs 抽象装饰器导致模棱两可的异常
- java - 使用 Android Intent 打开电子邮件
- javascript - 更改模态引导中的文本
- visual-studio - 如何从失败的 VS2019 安装中释放空间
- sql-server - 部署多维项目时VS中的“对象引用未设置为对象的实例”
- c - 为什么有人会定义这样的指针?