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

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.

主站蜘蛛池模板: 太仓市| 祁东县| 武乡县| 夏邑县| 台中市| 长汀县| 上栗县| 巧家县| 白银市| 南丹县| 渭南市| 当涂县| 房山区| 乌什县| 左贡县| 修文县| 苍山县| 石楼县| 建水县| 大余县| 赤水市| 固阳县| 呼玛县| 湘西| 招远市| 大同县| 邵东县| 建德市| 麻江县| 辰溪县| 平顺县| 顺昌县| 东兰县| 盈江县| 洛川县| 克拉玛依市| 兖州市| 育儿| 会昌县| 贵南县| 玛多县|