共用方式為


參數化查詢 - Cosmos DB 中的查詢語言 (在 Azure 和 Fabric 中)

Cosmos DB (在 Azure 和 Fabric 中) 支援參數以熟悉的 @ 表示法表示的查詢。 參數化 SQL 提供強大的使用者輸入處理和轉義,並防止透過 SQL 注入意外暴露資料。

範例

例如,您可以撰寫一個作為參數的查詢 upperPriceLimit ,並根據使用者輸入針對各種 price 值執行它。

SELECT
    *
FROM
    p
WHERE
    (NOT p.onSale) AND
    (p.price BETWEEN 0 AND @upperPriceLimit)

然後,您可以將此要求作為參數化 JSON 查詢物件傳送至 Cosmos DB。

{
  "query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
  "parameters": [
    {
      "name": "@upperPriceLimit",
      "value": 100
    }
  ]
}

下一個範例會使用參數化查詢來設定 TOP 引數:

{
  "query": "SELECT TOP @pageSize * FROM products",
  "parameters": [
    {
      "name": "@pageSize",
      "value": 10
    }
  ]
}

參數值可以是任何有效的 JSON:字串、數字、布林值、空值、偶數組或巢狀 JSON。 由於 Cosmos DB 是無結構描述,因此不會針對任何類型驗證參數。

以下是每個 Cosmos DB SDK 中參數化查詢的範例: