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

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.

主站蜘蛛池模板: 舟山市| 梁河县| 冀州市| 福海县| 凤冈县| 古蔺县| 柏乡县| 乌审旗| 石屏县| 来安县| 商洛市| 通州市| 兴安县| 阜新| 永丰县| 米脂县| 六盘水市| 巴中市| 泽普县| 辽源市| 当阳市| 周至县| 文水县| 响水县| 利辛县| 洛阳市| 射洪县| 平罗县| 大同市| 高淳县| 舒城县| 怀化市| 贵州省| 九龙城区| 买车| 曲阳县| 油尖旺区| 雷山县| 宝丰县| 新营市| 沐川县|