为啥要避免动态 SQL 查询?有啥建议可以删除坏的部分并使用这些吗?

Posted

技术标签:

【中文标题】为啥要避免动态 SQL 查询?有啥建议可以删除坏的部分并使用这些吗?【英文标题】:Why to avoid dynamic SQL queries ? any suggestion to remove there bad part and to use these?为什么要避免动态 SQL 查询?有什么建议可以删除坏的部分并使用这些吗? 【发布时间】:2011-09-15 12:52:42 【问题描述】:

您能指导我为什么建议避免使用动态 SQL 吗?有什么方法可以让我继续使用动态 SQL 并避免它的坏事?

【问题讨论】:

【参考方案1】:

http://www.sommarskog.se/dynamic_sql.html

如果您不了解本文中的所有内容,请返回并提出问题,但在您理解本文之前,在任何情况下都不应使用动态 SQl。

【讨论】:

【参考方案2】:

主要问题是sql注入。人们可以输入可以改变 sql 意图的数据。

最好的解决方案之一是使用 sp_executesql。 http://msdn.microsoft.com/en-us/library/ms188001.aspx

【讨论】:

以上是关于为啥要避免动态 SQL 查询?有啥建议可以删除坏的部分并使用这些吗?的主要内容,如果未能解决你的问题,请参考以下文章

C++中为啥要动态创建对象,有啥好处

mybatis 动态SQL查询总结

mysql查询in为啥用不上索引

使用dapper时动态拼接查询sql有啥好的方法吗

mybatis和dbutils比,各自有啥优缺点

unity 为啥要做动态骨骼的碰撞,有啥用吗?请问