日期:2014-05-18  浏览次数:20528 次

求sql导入语句
我有500多个csv文件,想导入SQL数据库内,数据库字段与文件字段是一样的, 

如何写批量导入语句。

------解决方案--------------------
ssis呀,JJ有现在的例子
------解决方案--------------------
SQL code
DECLARE @dir sysname,@cmd nvarchar(4000);
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(13) + CHAR(10)
        FROM #tmp;

        EXEC(@SQL); 
    END

DROP TABLE #tmp;