我在使用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. 使用批量插入的存储过程的权限
- 4. 使用存储过程批量插入/更新
- 5. 使用NamedParameterJdbcTemplate进行批量插入
- 6. 使用groovy Sql进行批量插入?
- 7. 如何优化MySQL以从Java应用程序进行大量批量插入?
- 8. MySQL存储过程中,如何插入多个变量,CONCAT
- 9. 通过Dapper进行批量插入比逐行插入要慢
- 10. Oracle:批量存储过程
- 11. MYSQL批量插入如果存在
- 12. 如何使用存储过程在SQL中插入多行?
- 13. 使用批量API将批量批量插入弹性搜索存储
- 14. MySQL:如何使用存储过程将行插入到不同的表中?
- 15. Mysql表插入存储过程
- 16. MySQL批量插入
- 17. 如何使用C#进行Oracle批量插入?
- 18. 如何使用PDO和PHP表单变量执行插入存储过程?
- 19. 进行批量插入/更新用
- 20. 如何对插入进行队列以创建批量插入
- 21. 使用存储过程从nhibernate插入
- 22. 如何使用sqlite对超过1000条记录进行批量插入?
- 23. 如何使用npm mysql使用批量插入表达式?
- 24. 使用DBVisualizer执行MYSQL存储过程
- 25. MySQL:无法使用存储过程插入CURRENT_TIMESTAMP - 动态语句
- 26. 使用EXPLAIN进行MYSQL存储过程调用
- 27. 如何创建插入存储过程mysql
- 28. 如何在MySQL存储过程中插入Unicode数据
- 29. 存储过程 - 插入
- 30. 插入存储过程
集合当然是您正在使用的应用程序语言(C#,Java等)的语言结构。你没有提及你使用的是什么语言。你有没有排除使用'LOAD DATA INFILE'来吸引你的大型数据集? –
我正在使用Javascript。也许使用“收集”这个词是一个糟糕的选择。我没有在应用程序语言的上下文中使用它,而是以通用的方式使用它。不管应用程序语言如何,如果我要针对MySQL运行原始SQL来调用SP,我将如何去传递一组数据以及如何将SP编码为一次插入批量加载?这真是我的问题。 – jiminssy