官术网_书友最值得收藏!

The sp_executesql procedure

The sp_executesql procedure is the recommended method for sending an ad hoc T-SQL statement to SQL Server. If stored procedures cannot be leveraged for some reason, such as when T-SQL statements must be constructed dynamically by the application, sp_executesql allows the user to send an ad hoc T-SQL statement as a parameterized query, which uses a similar caching mechanism to stored procedures. This ensures that the plan can be reused whenever the same query is executed again. Building on our example from the Ad hoc plan caching section, we can rewrite the query using sp_executesql, as in the following example which can be executed in the AdventureWorks sample database:

EXECUTE sp_executesql @stmt = N'SELECT LastName, FirstName, MiddleName
FROM Person.Person
WHERE PersonType = @PersonType;'
, @params = N'@PersonType nchar(2)'
, @PersonType = N'EM';

This ensures that any time the same query is sent with the same parameter markers, the plan will be reused, even if the statement is dynamically generated by the application.

主站蜘蛛池模板: 黑河市| 房山区| 正阳县| 陈巴尔虎旗| 永平县| 尼玛县| 南京市| 台前县| 甘南县| 鄂托克前旗| 万荣县| 佛坪县| 夹江县| 利川市| 克山县| 崇信县| 自治县| 南召县| 建水县| 婺源县| 乐至县| 富裕县| 古田县| 雷山县| 阳信县| 泗阳县| 延庆县| 东台市| 保康县| 阳新县| 崇信县| 井研县| 房产| 怀化市| 永兴县| 天峻县| 浪卡子县| 甘泉县| 日照市| 闽侯县| 巨鹿县|