求助:多个csv文件导入到数据库 问题

dsywo dsywo 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有365个csv文件,想导入SQL server 数据库内,如何写批量导入语句。

找到一个文件,但是没有看懂,不知道怎么用。。

大牛们给解释一下~~

需要在数据库建什么形式的表,还有CSV文件没有表头。

DECLARE @dir sysname,@cmd nvarchar(max);
SET @dir = 'C:/';

CREATE TABLE #tmp(filename nvarchar(1024));
SET @cmd = N'dir "' + @dir + '*.csv" /B'
INSERT #tmp EXEC master.dbo.xp_cmdshell @cmd;

DELETE #tmp WHERE filename IS NULL;

IF EXISTS(SELECT * FROM #tmp WHERE filename LIKE '%找不到文件%')
BEGIN
RAISERROR('找不到文件',16,1)
END
ELSE
BEGIN
DECLARE @SQL nvarchar(MAX);
SET @SQL = '';
SELECT @SQL = @SQL + 'EXEC xp_cmdshell N''bcp 数据库.dbo.表 in "' + @dir + filename
+ '" -w -T -t, -r/n'';' + CHAR(10)
FROM #tmp;

EXEC(@SQL);
END

DROP TABLE #tmp;
...全文
评论 6
收藏 已收藏
分享
返回顶部
dsywo
疑难问题 22,298 成员 121,727 内容