1
我需要读取一个CSV文件并循环遍历所有记录,并对少量字段执行一些数据清理并将它们插入到3个不同的表a,b和c中。 我不想游标,请给我建议一个简单但更快的方法来做到这一点。 TSQL代码片段将会有所帮助。不带游标的CSV文件加载
我需要读取一个CSV文件并循环遍历所有记录,并对少量字段执行一些数据清理并将它们插入到3个不同的表a,b和c中。 我不想游标,请给我建议一个简单但更快的方法来做到这一点。 TSQL代码片段将会有所帮助。不带游标的CSV文件加载
我会建议使用SSIS(SQL Server集成服务)
http://msdn.microsoft.com/en-us/library/ms141026.aspx
或者,如果你是一个老版本的SQL(SQL 2000),你可以使用DTS:
http://msdn.microsoft.com/en-us/library/cc707786(v=sql.105).aspx
这将允许您导入CSV文件,执行数据清理,并根据您自己的条件在所需的位置插入数据。
为什么认为你需要一个光标,你的困难究竟是什么?您可以使用bcp.exe或'BULK INSERT'将文件加载到表中,然后使用任何您喜欢的'UPDATE'语句和最后'INSERT'将这些数据清理到三个表中。 – Pondlife
这可能有所帮助:http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file -into-sql-server/ –
为什么你需要游标?你可以将数据加载到临时表并使用WHERE子句进行清理,然后将清理后的数据加载到永久表中?或者只是将数据加载到永久表中并进行清理? – Melanie