我是SQL新手,有OOL类型编程背景。
我创建了以下查询,该查询成功地将.CSV文件导入SQL Management Studio上的表中。我该如何导入多个文件?使用OOL语言会非常简单,虽然我听说你必须使用cmd读取目录?
工作代码如下:
--Cihans Import for Holdings--
INSERT INTO Holdings1
SELECT * FROM OPENROWSET
('MSDASQL', 'Driver={Microsoft Access Text Driver (*.txt, *.csv)}
;DBQ=C:\Share\DataUploads\FundHoldings;','SELECT * FROM holdings.csv')
如何循环/读取目录中的所有文件并导入数据?我们每月给出超过120张,我想用上面的方法导入。或者,如果有人可以推荐替代品吗?
答案 0 :(得分:0)
您是否可以访问SSIS? (SQL Server集成服务)?
如果是这样,您可以使用此设置ETL任务,使用FOREACH LOOP CONTAINER
导入文件夹中的所有文件,其中包含您的数据流任务&文件系统任务?
编辑 - 对评论的回应 - 此线程中的解决方案应该使您能够仅使用T-SQL执行所需操作:loop through files in folder
基本上 - 将所有文件加载到temptable中,创建一个while循环,每次执行时从文件夹传入一个新文件名,然后执行数据操作,然后传入下一个文件名直到完成所有文件。