系统存储过程,sp_executesql_MsSql_脚本之家

系统存款和储蓄进度,sp_executesql 语言在那处! sp_executesql
推行能够频仍录用或动态变化的Transact-SQL语句或批管理。Transact-SQL语句或批管理能够富含嵌入参数。
语法 sp_executesql[@stmt=]stmt [
{,[@params=]N’@parameter_namedata_type[,…n]’}
{,[@param1=]’value1′[,…n]} ] 参数 [@stmt=]stmt
包括Transact-SQL语句或批管理的Unicode字符串,stmt必得是足以隐式转变为ntext的Unicode常量或变量。不容许选取更头眼昏花的Unicode表达式。分裂意接受字符常量。如若钦赐常量,则必得运用N作为前缀。比如,Unicode常量N’sp_who’是一蹴而就的,不过字符常量’sp_who’则不行。字符串的分寸仅受可用数据库服务器内部存款和储蓄器约束。
stmt能够包括与变量名方式相近的参数,举例:
N’SELECT*FROMEmployeesWHEREEmployeeID=@IDParameter’
stmt中包括的各种参数在@params参数定义列表和参数值列表中均必须有对应项。
[@params=]N’@parameter_namedata_type[,…n]’
字符串,此中包涵已停放到stmt中的全体参数的定义。该字符串必得是足以隐式转变为ntext的Unicode常量或变量。每一个参数定义均由参数名和数据类型组成。n是申明附加参数定义的占位符。stmt中钦点的各类参数都必须在@params中定义。若是stmt中的Transact-SQL语句或批管理不分包参数,则不必要@params。该参数的暗中认可值为NULL。
[@param1=]’value1′
参数字符串中定义的首先个参数的值。该值能够是常量或变量。必得为stmt中包括的种种参数提供参数值。假诺stmt中富含的Transact-SQL语句或批管理未有参数,则无需值。
n
附加参数的值的占位符。那几个值只好是常量或变量,而不能够是更复杂的表明式,举例函数或使用运算符生成的表明式。
重回代码值 0

常备试行sql语句,大家用的都以exec,exec作用强盛,但不辅助嵌入参数,sp_executesql消释了这些标题。抄生机勃勃段sqlserver帮忙:

sp_executesql

进行可以再三录用或动态变化的 Transact-SQL 语句或批管理。Transact-SQL
语句或批管理能够分包嵌入参数。

语法

sp_executesql [@stmt =] stmt**
[
    {, [@params =] N’@parameter_name  data_type
[
,n] }
    {
, [@param1 =] value1 [,*n*]
}
]

相关文章