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

Forced parameterization

If an application tends to generate many ad hoc queries, and there is no way to modify the application to parameterize the queries, the Parameterization database option can be changed to Forced. When Forced Parameterization is turned on, SQL Server will replace ALL literal values in ALL ad hoc queries with parameter markers. Take the example of the following query executed in the AdventureWorks sample database:

SELECT LastName, FirstName, MiddleName
FROM Person.Person
WHERE PersonType = N'EM' AND BusinessEntityID IN (5, 7, 13, 17, 19);

This query would be automatically parameterized under Forced Parameterization, as follows:

(@1 nchar(2), @2 int, @3 int, @4 int, @5 int, @6 int)  SELECT LastName, FirstName, MiddleName
FROM Person.Person
WHERE PersonType = @1 AND BusinessEntityID IN (@2, @3, @4, @5, @6);

This has the benefit of increasing the reusability of all ad hoc queries, but there are some risks to parameterizing all literal values in all queries, which will be discussed later in section The importance of parameters.

主站蜘蛛池模板: 达尔| 扬中市| 右玉县| 湖北省| 长沙县| 红安县| 潜江市| 长垣县| 周宁县| 陵川县| 门源| 贵州省| 旬邑县| 昔阳县| 田林县| 永吉县| 读书| 洛扎县| 颍上县| 拜泉县| 香河县| 上蔡县| 吉林市| 蓝田县| 织金县| 运城市| 安远县| 尼木县| 秦皇岛市| 潢川县| 香格里拉县| 德州市| 陇南市| 香河县| 阳泉市| 嘉善县| 冷水江市| 双柏县| 琼结县| 威海市| 垦利县|