Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yol İfadeleri'ndeki (XQuery) tüm örneklerde yol ifadeleri için uygun olmayan söz dizimi kullanılır. Yol ifadesindeki bir eksen adımının sıralanmamış söz dizimi, eksen adını ve düğüm testini, iki nokta üst üste ile ayrılmış ve ardından sıfır veya daha fazla adım niteleyicisi içerir.
Örneğin:
child::ProductDescription[attribute::ProductModelID=19]
XQuery, yol ifadelerinde kullanılmak üzere aşağıdaki kısaltmaları destekler:
Eksen
childvarsayılan eksendir. Bu nedenle, bir ifadedekichild::bir adımdan eksen atlanabilir. Örneğin,/child::ProductDescription/child::Summaryolarak/ProductDescription/Summaryyazılabilir.Eksen
attribute@ olarak kısaltılabilir. Örneğin,/child::ProductDescription[attribute::ProductModelID=10]olarak/ProductDescription[@ProductModelID=10]yazılabilir.A
/descendant-or-self::node()/, // olarak kısaltılabilir. Örneğin,/descendant-or-self::node()/child::act:telephoneNumberolarak//act:telephoneNumberyazılabilir.Önceki sorgu, Kişi tablosundaki AdditionalContactInfo sütununda depolanan tüm telefon numaralarını alır. AdditionalContactInfo şeması, bir telephoneNumber> öğesinin belgenin herhangi bir <yerinde görünebileceği şekilde tanımlanır. Bu nedenle, tüm telefon numaralarını almak için belgedeki her düğümü aramanız gerekir. Arama belgenin kökünden başlar ve tüm alt düğümlerde devam eder.
Aşağıdaki sorgu, belirli bir müşteri ilgili kişisinin tüm telefon numaralarını alır:
SELECT AdditionalContactInfo.query(' declare namespace act="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes"; declare namespace crm="https://schemas.adventure-works.com/Contact/Record"; declare namespace ci="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactInfo"; /descendant-or-self::node()/child::act:telephoneNumber ') AS result FROM Person.Contact WHERE ContactID = 1;Yol ifadesini kısaltılmış söz dizimi ile değiştirirseniz,
//act:telephoneNumberaynı sonuçları alırsınız.self::node()Bir adımdaki, tek bir noktaya (.) kısaltılabilir. Ancak, nokta ileself::node()eşdeğer veya değiştirilebilir değildir.Örneğin, aşağıdaki sorguda nokta kullanımı bir düğümü değil bir değeri temsil eder:
("abc", "cde")[. > "b"]parent::node()Bir adımdaki, çift noktaya (..) kısaltılabilir.