NoSQL için Azure Cosmos DB'de parametreli sorgular
ŞUNUN IÇIN GEÇERLIDIR: NoSQL
NoSQL için Azure Cosmos DB, tanıdık @ gösterimiyle ifade edilen parametrelerle sorguları destekler. Parametreli SQL, kullanıcı girişinin güçlü bir şekilde işlenmesini ve kaçışını sağlar ve SQL ekleme yoluyla verilerin yanlışlıkla açığa çıkmasını önler.
Örnekler
Örneğin, parametre olarak ve address.state
alan lastName
bir sorgu yazabilir ve kullanıcı girişlerine göre ve'nin address.state
çeşitli değerleri için bu sorguyu lastName
yürütebilirsiniz.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Ardından bu isteği NoSQL için Azure Cosmos DB'ye parametreli JSON sorgu nesnesi olarak gönderebilirsiniz.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
Bu sonraki örnek, bağımsız değişkeni parametreli bir sorguyla ayarlar TOP
:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Parametre değerleri geçerli bir JSON olabilir: dizeler, sayılar, boole değerleri, null, hatta diziler veya iç içe JSON. NoSQL için Azure Cosmos DB şemasız olduğundan parametreler herhangi bir türde doğrulanmaz.
NoSQL için Azure Cosmos DB SDK'larının her birinde parametreli sorgu örnekleri aşağıda verilmiştir: