sp_executesql 图文解说

转载于:http://hi.baidu.com/yycmmc/blog/item/2ab8bce684808f36b93820a4.html

1、它是一个系统存储过程,也必须用EXECUTE来调用

2、它后面可以接存储过程名,或者一个SQL语句系列

3、它后面接的不管是什么,必须是Unicode常量(用大写字母N开头的,如:N'This is a string'),或者单一的Unicode变量,而不允许是Unicode表达式,即使是很简单的@a+@b的形式

4、 它后面接的字符串如果包含参数,包含的每个参数在参数定义列表和参数值列表中均必须有对应项。如:sp_executesql N'select @test',N'@test int',@test=3。第一部分:语句系列;第二部分:参数定义;第三部分:参数赋值。

5、如果使用输出参数,那么第三部分(参数赋值部分)里的输出参数也是在等号左边的。而不是像一般感觉出现在等号右边,然后给右边的外面的参数赋值。

原文地址:https://www.cnblogs.com/chjf2008/p/2493597.html