Paraméteres lekérdezések az Azure Cosmos DB for NoSQL-ben
A KÖVETKEZŐRE VONATKOZIK: NoSQL
Az Azure Cosmos DB for NoSQL támogatja az ismerős @ jelölés által kifejezett paraméterekkel rendelkező lekérdezéseket. A paraméteres SQL robusztus kezelést és a felhasználói bemenetek elkerülését biztosítja, és megakadályozza az adatok véletlen expozícióját SQL-injektálással.
Példák
Megírhat például egy paraméterként használt upperPriceLimit
lekérdezést, és végrehajthatja azt a felhasználói bemeneten alapuló különböző értékekhez price
.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Ezt a kérést ezután elküldheti az Azure Cosmos DB for NoSQL-nek paraméteres JSON-lekérdezési objektumként.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
Ez a következő példa paraméteres lekérdezéssel állítja be az TOP
argumentumot:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
A paraméterértékek lehetnek érvényes JSON-értékek: sztringek, számok, logikai értékek, null, páros tömbök vagy beágyazott JSON-értékek. Mivel az Azure Cosmos DB for NoSQL séma nélküli, a paraméterek nem lesznek érvényesítve semmilyen típussal.
Íme néhány példa a paraméteres lekérdezésekre az egyes Azure Cosmos DB for NoSQL SDK-kban: