Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Cosmos DB (i Azure och Fabric) stöder frågor med parametrar som uttrycks av den välbekanta @-notationen. Parameteriserad SQL ger robust hantering och undsättning av användarindata och förhindrar oavsiktlig exponering av data via SQL-inmatning.
Examples
Du kan till exempel skriva en fråga som tar upperPriceLimit som en parameter och köra den för olika värden price baserat på användarindata.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Du kan sedan skicka den här begäran till Cosmos DB som ett parametriserat JSON-frågeobjekt.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
I nästa exempel anges TOP argumentet med en parametriserad fråga:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Parametervärden kan vara valfri giltig JSON: strängar, tal, booleska värden, null, till och med matriser eller kapslad JSON. Eftersom Cosmos DB är schemalöst verifieras inte parametrar mot någon typ.
Här är exempel på parametriserade frågor i varje Cosmos DB SDK: