我只是在这里仔细检查,我确信其他人偶尔会有这个问题:
当没有涉及用户输入时,是否有任何理由使用参数化查询?例如,将随机字符串放入SQL表时。
答案 0 :(得分:1)
为了安全起见,是的。即使您确定当前的值绝对安全,您是否可以保证在未来的日期没有其他人可以进行更改或使用相同的查询用于其他目的?
答案 1 :(得分:0)
如果没有其他原因,我喜欢代码的清洁程度。理论上可以在没有参数化的情况下安全地运行几个查询,但是构建字符串是非常丑陋的,并且在需要维护时很难理解丑陋的代码。
例如,在C#中(在这种情况下是PL / SQL查询)
String query = @"SELECT thing, stuff
FROM table_of_things
WHERE thing = :thing
OR stuff = :stuff";