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


Aritmetikai operátorok meghatározása XPath lekérdezésekben (SQLXML 4.0)

A következőkre vonatkozik:SQL ServerAzure SQL Database

Az alábbi példa bemutatja, hogyan definiálják az aritmetikai operátorokat az XPath lekérdezésekben. Az XPath lekérdezés ebben a példában a SampleSchema1.xmláltal található leképezési sémához vonatkozik. Erről a mintasémáról további információkért lásd: Sample Annotated XSD séma XPath példákhoz (SQLXML 4.0).

Példák

A. Megadjuk a * aritmetikai operátort

Ez az XPath lekérdezés olyan OrderDetail> elemeket ad vissza<, amelyek kielégítik a megadott predikátumot:

/child::OrderDetail[@UnitPrice * @Quantity = 12.350]  

A lekérdezésben child a tengely és OrderDetail a csomópont teszt (IGAZ, ha a OrderDetailelemcsomópont<>, mert az <elemcsomópont> a gyermektengely elsődleges csomópontja). Minden <OrderDetail> elemcsomópontra a predikátumban lévő tesztet alkalmazzuk, és csak azok a csomópontok térnek vissza, amelyek megfelelnek a feltételnek.

Megjegyzés:

Az XPath számai dupla pontosságú lebegőpontos számok, és a példában említett lebegőpontos számok összehasonlítása kerekítést okoz.

Az XPath lekérdezés tesztelése a leképezési sémával
  1. Másold le a mintasémakódot , és beilleszted egy szövegfájlba. Mentse el a fájlt SampleSchema1.xml.

  2. Hozza létre a következő sablont (ArithmeticOperatorA.xml), és elmentse abba a könyvtárba, ahol SampleSchema1.xml el van mentve.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
      <sql:xpath-query mapping-schema="SampleSchema1.xml">  
        /OrderDetail[@UnitPrice * @OrderQty = 12.350]  
      </sql:xpath-query>  
    </ROOT>  
    

    A leképezési sémához (SampleSchema1.xml) megadott könyvtári út viszonyítja azt a könyvtárat, ahol a sablon mentő. Abszolút út is meghatározható, például:

    mapping-schema="C:\MyDir\SampleSchema1.xml"  
    
  3. Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) a sablon végrehajtásához.

    További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.

Here is the partial result set of the template execution:    
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-709" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
  <OrderDetail ProductID="Prod-710" UnitPrice="6.175" OrderQty="2" UnitPriceDiscount="0" />   
   ...  
</ROOT>