|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
BDB源自BerkeleyDB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性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常量Nsp_who是无效的,可是字符常量sp_who则有效。字符串的巨细仅受可用数据库服务器内存限定。
stmt能够包括与变量名情势不异的参数,比方:
NSELECT*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(乐成)或1(失利)
了局集
从天生SQL字符串的一切SQL语句前往了局集。
正文
在批处置、称号感化域和数据库高低文方面,sp_executesql与EXECUTE的举动不异。sp_executesqlstmt参数中的Transact-SQL语句或批处置在实行sp_executesql语句时才编译。然后编译stmt中的内容并作为实行企图运转(自力于名为sp_executesql的批处置的实行企图)。sp_executesql批处置不克不及援用挪用sp_executesql的批处置中声明的变量。sp_executesql批处置中的当地游标和变量对换用sp_executesql的批处置是不成见的。对数据库高低文所作的变动只在sp_executesql语句停止前无效。
假如只变动了语句中的参数值,则sp_executesql可用来取代存储历程屡次实行Transact-SQL语句。由于Transact-SQL语句自己坚持稳定仅参数值变更,以是Microsoft |
|