Board logo

標題: [發問] SQL 批次上傳資料,快速的方式? [打印本頁]

作者: PKKO    時間: 2016-3-9 00:28     標題: SQL 批次上傳資料,快速的方式?

下方是我目前批次上傳資料到MSSQL上面的方式
簡單說,就是把字串連在一起,然後執行連線程式
但此種方式光是上傳一萬筆資料,就要花兩分鐘了...
請問各位大大有更快的批次上傳方式嗎?
  1. For i = 1 To 10000
  2.     strSQL = "INSERT INTO customer VALUES ('Bob'," &  i & ")"
  3.     If i = 1 Then strSQL2 = strSQL Else strSQL2 = strSQL2 & ";" & strSQL
  4. Next
  5. conn.Execute (strSQL2)
複製代碼

作者: joey0415    時間: 2016-3-9 19:56

https://mariadb.com/kb/en/sql-99/begin-end-compound-statement/

關鍵字

ms sql begin  insert
作者: PKKO    時間: 2016-3-9 21:48

回復 3# joey0415


    感謝大大的回覆
不過小弟看不大懂....
找不到新增資料以及連線的地方
架設我有1萬筆資料要新增,conn是連線指令,那我下方的程式碼該如修改?
以及看到msdn上的大大們說,參數查詢法是目前公認可以完美防禦 SQL Injection 的作法。
不管是何種 SQL,只要把代入資料值的部份用參數去替代就行了,您的方式也是用參數查詢法嗎?
抱歉小弟是SQL新手...

For i = 1 To 10000
    strSQL = "INSERT INTO customer VALUES ('Bob'," &  i & ")"
    If i = 1 Then strSQL2 = strSQL Else strSQL2 = strSQL2 & ";" & strSQL
Next
conn.Execute (strSQL2)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)