Megosztás a következőn keresztül:


Paraméteres lekérdezések – Lekérdezési nyelv a Cosmos DB-ben (az Azure-ban és a Fabricben)

A Cosmos DB (az Azure-ban és a Fabricben) az ismerős @ jelölés által kifejezett paraméterekkel rendelkező lekérdezéseket támogatja. 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 a Cosmos DB-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 a Cosmos DB séma nélküli, a paraméterek nem lesznek érvényesítve semmilyen típussal.

Íme néhány példa az egyes Cosmos DB SDK-k paraméteres lekérdezéseire: