gpt4 book ai didi

sql-server - 在 sp_executesql 中使用 @ParmDefinition 有什么好处

转载 作者:行者123 更新时间:2023-12-02 08:26:37 24 4
gpt4 key购买 nike

DECLARE @id int
DECLARE @name nvarchar(20)
SET @id = 5
SET @name = 'Paul'

这两个选项有什么区别:

Set @SQLQueryInnen = 'SELECT * FROM someTable WHERE ID = ' + @id + ' AND NAME = ''' + @name + ''''
Execute sp_Executesql @SQLQueryInnen

Set @SQLQueryInnen = 'SELECT * FROM someTable WHERE ID = @id AND NAME = @name'
Set @ParmDefinition = '@id int, @name nvarchar(20)'
Execute sp_Executesql @SQLQueryInnen, @ParmDefinition, @id

到目前为止,我只看到在使用@ParmDefinition 时两次声明@id 和@name 的数据类型的开销。另一方面,@ParamDefinition 的“字符串构建”似乎更容易一些。

最佳答案

第一种情况是 SQL 注入(inject)容易和安全风险。讨论到此为止。

关于sql-server - 在 sp_executesql 中使用 @ParmDefinition 有什么好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31670688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com