我在使用MySQL進行數據庫操作時專門使用存儲過程。有必要定期插入數千條記錄。有沒有辦法將集合作爲參數傳遞給存儲過程?如果存在,存儲過程如何將接收到的參數作爲一個批量插入插入?如何使用存儲過程進行MySQL批量插入?
0
A
回答
0
我對存儲過程的理解是參數不能包含任何代碼,這些代碼將是可執行命令,如INSERT DELETE UPDATE only變量。所以你不能將一個完整的INSERT命令傳遞給存儲過程。因此,存儲過程可防止SQL注入。下面是通過@Polynomials在存儲過程中分離命令和參數的理由的極好和非常類似Turing的解釋https://security.stackexchange.com/questions/25684/how-can-i-explain-sql-injection-without-technical-jargon/25710#25710
因此,批處理插入將作爲@O加載數據INFILE。 Jones在上面的註釋中說過,或者在INSERT存儲過程中使用您選擇的語言來迭代通過插入插入參數的插入。
+0
謝謝你的迴應。我沒有傾向於字面的SQL語句。我想知道是否有某種字符串格式,SP作爲一個參數被解釋爲SQL中的某種集合。我想沒有這樣的事情。我會嘗試執行LOAD DATA INFILE方法。謝謝。 – jiminssy
相關問題
- 1. 批量插入使用存儲過程
- 2. 如何在Spring DAO中使用存儲過程進行批量插入?
- 3. 使用存儲過程在MySQL中批量插入
- 4. 存儲過程/批量插入困難
- 5. 使用批量插入的存儲過程的權限
- 6. 使用存儲過程批量插入/更新
- 7. MySQL存儲過程 - 插入多行
- 8. 使用groovy Sql進行批量插入?
- 9. 使用NamedParameterJdbcTemplate進行批量插入
- 10. MySQL存儲過程中,如何插入多個變量,CONCAT
- 11. 如何優化MySQL以從Java應用程序進行大量批量插入?
- 12. 將大量數據傳遞給存儲過程以進行批量插入或一次插入一條記錄
- 13. Oracle:批量存儲過程
- 14. 通過Dapper進行批量插入比逐行插入要慢
- 15. MYSQL批量插入如果存在
- 16. 如何使用存儲過程在SQL中插入多行?
- 17. 需要幫助:爲批量插入創建存儲過程
- 18. 使用批量API將批量批量插入彈性搜索存儲
- 19. MySQL:如何使用存儲過程將行插入到不同的表中?
- 20. mysql優化存儲過程插入
- 21. Mysql表插入存儲過程
- 22. mysql批量插入
- 23. MySQL批量插入
- 24. 如何在scala中使用純SQL進行批量插入?
- 25. 如何使用C#進行Oracle批量插入?
- 26. 如何使用PDO和PHP表單變量執行插入存儲過程?
- 27. 進行批量插入/更新用
- 28. 如何對插入進行隊列以創建批量插入
- 29. 使用存儲過程從nhibernate插入
- 30. 使用存儲過程插入的SQLDataSource
集合當然是您正在使用的應用程序語言(C#,Java等)的語言結構。你沒有提及你使用的是什麼語言。你有沒有排除使用'LOAD DATA INFILE'來吸引你的大型數據集? –
我正在使用Javascript。也許使用「收集」這個詞是一個糟糕的選擇。我沒有在應用程序語言的上下文中使用它,而是以通用的方式使用它。不管應用程序語言如何,如果我要針對MySQL運行原始SQL來調用SP,我將如何去傳遞一組數據以及如何將SP編碼爲一次插入批量加載?這真是我的問題。 – jiminssy