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