使用存储过程进行批量插入优化
当需要高效导入大量数据时,请考虑使用 BULK INSERT 命令。在这种情况下,目标是创建一个执行批量插入操作的存储过程。
但是,在尝试创建存储过程时,会出现一条错误消息,指示“@filepath”和“附近的语法不正确”和。”此错误源于 BULK INSERT 命令的固有限制:它无法接受文件名作为变量。
要解决此问题,请考虑将 BULK INSERT 语句构造为具有固定文件名的字符串,然后使用动态 SQL 执行它。下面是一个示例:
DECLARE @filepath nvarchar(500) SET @filepath = N'e:-digit Commercial.csv' DECLARE @bulkinsert NVARCHAR(2000) SET @bulkinsert = N'BULK INSERT ZIPCodes FROM ''' + @filepath + N''' WITH (FIRSTROW = 2, FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'')' EXEC sp_executesql @bulkinsert
通过遵循此方法,您可以克服 BULK INSERT 的限制并高效地将数据导入数据库。
以上是遇到'BULK INSERT”语法错误时如何使用存储过程优化批量插入?的详细内容。更多信息请关注PHP中文网其他相关文章!