turk-dreamworld.com Sitesine Hoşgeldiniz.


3 sonuçtan 1 ile 3 arası
  1. #1
    TDW Team-S-Mod. usta_399 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Dec 2016
    Mesajlar
    38.158
    Total 'Thanks' Received by This User :
    0 Bu Konu icin
    2.958 Toplam

    Standart 5 XML Verilerinin Sorgulanması ve Güncellenmesi

    5 XML Verilerinin Sorgulanması ve Güncellenmesi

    Uygulamaların hem XML şeması tabanlı hem de şema tabanlı olmayan Oracle Veritabanındaki XML verilerini sorgulamasının ve güncellemesinin birçok yolu vardır.



    5.1 XQuery'yi Oracle XML DB ile Kullanma

    XQuery çok genel ve anlamlı bir dildir, ve SQL / XML fonksiyonları XMLQuery, XMLTable, XMLExistsve XMLCastSQL güçlü olan ifade ve hesaplama bu gücü birleştirir.
    Genellikle XQuery'yi Oracle XML DB ile aşağıdaki şekillerde kullanırsınız. Buradaki örnekler, bu farklı kullanımları yansıtacak şekilde düzenlenmiştir.

    • Oracle XML DB Deposu'nda XML verilerini sorgula.


    • İlişkisel bir tabloyu sorgulayın veya XML verileriymiş gibi görüntüleyin. Bunu yapmak için, XQuery işlevini fn:collectionkullanarak, URI şeması adını oradbkullanarak verilerin veritabanı konumuyla birlikte bir URI'yi argüman olarak geçirirsiniz .


    • Sorgu XMLTypeverileri, muhtemelen ortaya çıkan XML'i fonksiyonunu kullanarak ilişkisel verilere ayrıştırır XMLTable.

      bu bölümdeki diğer örneklerin bazılarında kullanılan Oracle XML DB Deposu kaynaklarını oluşturur

      Örnek 5-1 Örnekler için Kaynaklar Yaratmak
      Kod:
      BİLDİRMEK
      Kod:
        res BOOLEAN;
        empsxmlstring VARCHAR2 (300): = 
          '<? xml sürümü = "1.0"?>
           <ÇYP'ler>
             <emp empno = "1" deptno = "10" ename = "John" maaş = "21000" />
             <emp empno = "2" deptno = "10" ename = "Jack" maaş = "310000" />
             <emp empno = "3" deptno = "20" ename = "Jill" maaş = "100001" />
           </ ÇYP'ler> ';
        empsxmlnsstring VARCHAR2 (300): =
          '<? xml sürümü = "1.0"?>
           <emps xmlns = "http://example.com">
             <emp empno = "1" deptno = "10" ename = "John" maaş = "21000" />
             <emp empno = "2" deptno = "10" ename = "Jack" maaş = "310000" />
             <emp empno = "3" deptno = "20" ename = "Jill" maaş = "100001" />
           </ ÇYP'ler> ';
        deptsxmlstring VARCHAR2 (300): =
          '<? xml sürümü = "1.0"?>
           <Derinliklerden>
             <deptno = "10" dname = "Yönetim" />
             <deptno = "20" dname = "Pazarlama" />
             <deptno = "30" dname = "Satınalma" />
           </ Derinliklerden> ';
      BAŞLA
        res: = DBMS_XDB_REPOS.createResource ('/ public / emps.xml', empsxmlstring);
        res: = DBMS_XDB_REPOS.createResource ('/ public / empsns.xml', empsxmlnsstring);
        res: = DBMS_XDB_REPOS.createResource ('/ public / depts.xml', deptsxmlstring);
      SON;
      /



    5.1.1 XQuery Dizileri, Herhangi XQuery Türü Verilerini İçerebilir


    XQuery'nin genel bir sıralama- düzenleme dili olduğunu akılda tutmak önemlidir . İfadeleri ve sonuçları mutlaka XML verileri değildir. Bir XQuery sıra numaralarını, dizeleri, Boole değerleri, tarih ve XML düğümü çeşitli içeren herhangi XQuery türü, öğeleri içerebilir ( document-node(), element(), attribute(), text(), namespace(), vb).
    , bir örnekleme sağlar. SQL / XML işlevini XMLQuerybirkaç farklı türdeki öğeleri içeren bir XQuery dizisine uygular :

    • bir tamsayı değişmezi: 1
    • aritmetik bir ifade: 2 + 3
    • bir dize değişmezi: "a"
    • bir tam sayı dizisi: 100 to 102
    • bir yapılandırılmış XML öğesi düğümü: <A>33</A>




  2. ayrıca, gruplama için virgül operatörünü ( ,) ve parantezleri ( (, )) kullanarak bir dizinin oluşturulmasını gösterir .
    Dizi ifadesi diziye 100 to 102değerlendirir (100, 101, 102), bu nedenle XMLQueryburada argüman, iç içe geçmiş bir dizi içeren bir dizidir. XQuery dizileri için her zaman olduğu gibi dizi argümanı otomatik olarak düzleştirilir. Argüman, aslında (1, 5, "a", 100, 101, 102, <A>33</A>).
    Örnek 5-2 Farklı Türlerdeki Öğelerin Dizisine Uygulanan XMLQuery

    Kod:
    SELECT XMLQuery ('(1, 2 + 3, "a", 100 ila 102, <A> 33 </A>) "
    Kod:
                    Çıkış İLE İLGİLİ)
      DUAL FROM'DAN;
    
    ÇIKTI
    --------------------------
    1 5 a 100 101 102 <A> 33 </A>
      1 satır seçildi.



    5.1.2 XQuery Kullanarak Oracle XML DB Havuzunda XML Verilerinin Sorgulanması

    Oracle XML DB Deposu'nda XML verileriyle XQuery kullanan örnekler sunulmuştur. XQuery işlevlerini kullanın fn:docve fn:collectionsırasıyla depodaki dosya ve klasör kaynaklarını sorgulayın.
    Buradaki örnekler fn:doc, XML verilerini içeren bir depo dosyası elde etmek için XQuery işlevini kullanır ve ardından XQuery değişkenlerini, söz konusu verinin parçalarını forve letFLWOR ifadesi maddelerini bağlar.


    Oracle XML DB Deposu'nda iki XML belgesi kaynağını sorgular: /public/emps.xmlve /public/depts.xml. fn:docOlası FLWOR ifade cümlelerinin kullanımını ve her birini gösterir.
    Olarak [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız] , çeşitli FLWOR maddeleri bu işlemleri gerçekleştirmek:


    • forsırayla, her bir elemanın değerine değişken bağlayan empelemanlar üzerinde tekrarlar . Yani, çalışanlara bağlanan genel bir çalışan listesi üzerinde tekrarlanır ./public/emps.xml$e$e
    • letdeğişken bağlanan $da dizisinin tüm değerlerinin oluşan dnamebu niteliklerini depteleman nitelikleri aynı değere sahip eleman öznitelik (bu bir birleştirme işlemidir). Yani, çalışan departmanı ile aynı departman numarasına sahip olan tüm bölümlerin isimlerine bağlanır . ( Değer, her bir değer için benzersizdir .) Bunun tersine , hiçbir zaman değerlerin üzerinde yinelemediğini unutmayın ; bu örnekte sadece bir kez ciltlenir./public/emps.xmldeptnodeptno$e$d$ednamedeptnodepts.xmlforl et$d
    • Birlikte, forve letdizilerini akımı üretir ( $e, $d), nerede $ebir çalışan temsil eder ve $dbölümlerin hepsi isimlerini temsil etmek olduğunu çalışanın bu durumda -in ait olduğu, çalışanın benzersiz bölümünün benzersiz bir isimdir.
    • where Bu tuple akışını filtreler, sadece maaşı 100.000'den fazla olan çalışanlarla ilişki kurar.
    • order byfiltrelenen tuple akışını çalışan numarasıyla empno(artan düzende, varsayılan olarak) sıralar.
    • returninşa empelemanları, her bir başlığın bir tane. Öznitelikler enameve deptbu elemanlar , sırasıyla enamegirdiden ve öznitelik kullanılarak oluşturulur $d. Öğe ve nitelik adlarının empve enameçıktıdaki giriş belgesindeki aynı adlarla gerekli bağlantının olmadığını unutmayın emps.xml.


      ayrıca FLWOR ifadesi maddelerinin her birini kullanır. Bu XQuery fonksiyonların kullanımını gösterir doc, count, avgve integer, için ad olan yerleşik XQuery işlevler [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız]. Bu ad alanı önekle sınırlıdır fn.
      Olarak [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız] , çeşitli FLWOR maddeleri bu işlemleri gerçekleştirmek:

      • forsırayla, deptnogiriş belgesindeki özniteliklerin üzerinde /public/depts.xml, $dbu tür özniteliklerin değerine değişken olarak bağlanır .
      • letdeğişkeni , öznitelikleri değeri olan (bu birleştirme işlemidir) giriş belgesindeki $etüm empöğelerden oluşan bir diziye değişkeni bağlar ./public/emps.xmldeptno$d
      • Birlikte, forve letküpe (bir akımın üretilmesi $d, $e), nerede $dbir departman numarasını temsil eder ve $ebu bölümde çalışanların kümesini temsil eder.
      • where Bu tuple akışını filtreler, yalnızca birden fazla çalışanla birlikte çalışır.
      • order byFiltreli tuple akışını azalan düzende ortalama maaş ile sıralar. Ortalama, XQuery işlevinin avg(ad alanında fn) salary, empöğelerine eklenen öznitelik değerlerine uygulanmasıyla hesaplanır $e.
      • returninşa big-deptelemanları tarafından üretilen her bir başlığın bir tane order by. text()Bir düğüm big-deptbağlı bölüm numarasını içerir $d. Bir headcountalt öğe, $eXQuery işlevi tarafından belirlenen , bağlı çalışan sayısını içerir count. Bir avgsalçocuk elemanı hesaplanan ortalama maaşı içerir.


      Örnek 5-3 FLOWR Expression Kullanıma göre, nerede sipariş verelim, sipariş verelim.
      Kod:
      SELECT XMLQuery ('doc içinde $ e için ("/ public / emps.xml") / emps / emp
      Kod:
                       izin ver $ d: =
                         doc ("/ public / depts.xml") // dept [@deptno = $ e / @ deptno] / @ dname
                       nerede $ e / @ maaş> 100000
                       $ e / @ empno tarafından sipariş ver
                       return <emp ename = "{$ e / @ ename}" dept = "{$ d}" /> '
                      DOĞRUDAN İÇERİK);
      
      XMLQUERY ( '$ EINDOC ( "/ KAMU / EMPS.XML") İÇİN / EMPS / EMPLET $ D: = DOC ( "/ KAMU / DEPTS.XML")
      -------------------------------------------------- ------------------------------
      <emp ename = "Jack" borçlandırması = "Yönetim"> </ emp> <emp ename = "Jill" dept = "Pazarlama"
      > </ Emp>
       
      1 satır seçildi.


Örnek 5-4 Yerleşik İşlevleri Kullanarak FLOWR İfade

Kod:
ELECT XMLQuery ('$ d için fn: doc ("/ public / depts.xml") / depts / dept / @ deptno
Kod:
                 izin $ e: = fn: doc ("/ public / emps.xml") / emps / emp [@deptno = $ d]
                 fn: count ($ e)> 1 nerede
                 fn ile sipariş: avg ($ e / @ malary) azalan
                 dönüş
                   <Big-borç> {$ d
                              <Sayımın> {fn: sayımı ($ e)} </ headcount>,
                              <Avgsal> {xs: tamsayıdır (fn: ort ($ e / 'maaş))} </ avgsal>}
                   </ Big-borç>'
                DOĞRUDAN İÇERİK);

XMLQUERY ( '$ DINFN İÇİN: DOC ( "/ KAMU / DEPTS.XML") / Depts / BÖLÜMÜ / @ DEPTNOLET $ E: = FN: DOC ( "/ P
-------------------------------------------------- ------------------------------
<big-dept deptno = "10"> <headcount> 2 </ headcount> <avgsal> 165500 </ avgsal> </ big-dept>
 
1 satır seçildi.



  • 5.1.3 XQuery ve URI Şeması ile İlişkisel Veri Sorgulama oradb

    İlişkisel tabloyu sorgulamak veya verileri XML verisi gibi görüntülemek için XQuery kullanan örnekler sunulur. Örnekler fn:collection, XQuery işlevini kullanır ve argüman olarak URI şema adını oradbkullanarak verilerin veritabanı konumuyla birlikte kullanılan bir URI'yi geçirir .
    , fn:collectioniki ilişkisel tabloyu sorgulamak için bir FLWOR ifadesinde Oracle XQuery işlevini kullanır regionsve countries. Her iki tablo da örnek veritabanı şemasına aittir HR. Örnek ayrıca scalar SQL değerini AsiaXQuery değişkenine geçirir $regionname. Herhangi bir SQL ifadesi kullanılarak XQuery'ye iletilen bir değer üretilebilir PASSING. Bu durumda, değer bir SQL * Plus değişkeninden gelir REGION. Bu durumda değeri beklenen skaler SQL veri türüne çevirmeniz gerekir VARCHAR2(40).
    Olarak [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız] , çeşitli FLWOR maddeleri bu işlemleri gerçekleştirmek:


    • forçağrılarla döndürülen XML öğelerinin dizileri üzerinde yineleme yapar fn:collection. İlk çağrıda, her eleman bir dizi ilişkisel tabloya karşılık gelir hr.regionsve değişkene bağlanır $i. Benzer şekilde, ikinci çağrıda fn:collection, $jardışık sıradaki tablolara bağlanır hr.countries. Yana regionsve countriesolmayan XMLTypetablolar, her bir tablodaki bir satıra karşılık gelen üst düzey elemanıdır ROW(bir sargı elemanı) sağlanabilir. Satır öğeleri üzerinde yineleme sırasız.
    • wheresatırları her iki tablodan da filtreler, yalnızca region_idher bir tablo için aynı olan satırların çiftlerini ( bir birleştirme gerçekleştirir region_id) ve kim region_nameolduğunu korur Asia.
    • returnfiltrelenmiş satırları tablodan üst düzey öğe olarak hr.countriesXML parçaları içeren bir XML belgesi olarak döndürür ROW.

    fn:collection ilişkisel verileri sorgulamak için iç içe geçmiş FLWOR ifadelerinde kullanır .
    Olarak [Değerli Ziyaretci, linki görmeniz icin bu mesaja cevap yazmanız gerekiyorÜye olmak icin burayı tıklayınız] , çeşitli FLWOR maddeleri bu işlemleri gerçekleştirmek:

    • Dış fortarafından döndürülen bir XML elemanlarının dizisi üzerinde dolaşır fn:collection: her bir elemanın ilişki tablosunun bir satıra karşılık gelmektedir oe.warehousesve değişkene bağlıdır $i. Bu yana warehousesbir değil XMLTypetablo, bir satıra karşılık gelen üst düzey bir elementtir ROW. Satır öğeleri üzerindeki yineleme sırasız.
    • Aynı forşekilde, içsel yineleyiciler, geri dönen bir XML öğeleri dizisi üzerinden fn:collection: her eleman bir ilişkisel tablonun sırasına karşılık gelir hr.locationsve değişkene bağlanır $j.
    • wheretuplleri ( $i, $j) filtreler, sadece location_idçocuğu için aynı olanları tutar $ive $j(bir katılım gerçekleştirir location_id).
    • İç returneleman bir XQuery dizisini oluşturur STREET_ADDRESS, CITYve STATE_PROVINCEyer-tabloda çocuk her biri, ROWeleman $j; Yani, aynı adın konum tablosu sütunlarının değerleridir.
    • Dış return, iç kısmın sonucunu returnbir Locationparçaya sarar ve bunu bir Warehouseelemanın içinde sarar . Sağladığı Warehousebir ile elemanının iddeğeri gelen öznitelik warehouse_idtablonun sütunu warehouses.






    AlıntıAlıntı

  • #2
    TDW Team-S-Mod. usta_399 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Dec 2016
    Mesajlar
    38.158
    Total 'Thanks' Received by This User :
    0 Bu Konu icin
    2.958 Toplam

    Standart Cevap: 5 XML Verilerinin Sorgulanması ve Güncellenmesi

    Örnek 5-5 XMLQuery Kullanarak İlişkisel Verileri XML Olarak Sorgulama
    PHP- Kodu:
    DEFINE REGION 'Asya'
    SELECT XMLQuery (' fn için $ i' toplama ("oradb: / HR / REGIONS") ,fn 
                         
    koleksiyonu ("oradb: / HR / COUNTRIES")
                       
    Burada ROW REGION_ID = $ ROW REGION_ID
                         ve 
    ROW REGION_NAME = $ bölge adı
                       
    'döndür
                    PASSING CAST ('
    REGION' AS VARCHAR2 (40)) AS "bölge adı"
                    İÇERİĞİ GERİ DÖN   DUAL FROM'
    DAN
    Bu aşağıdaki sonucu üretir. (Sonuç netlik için burada oldukça basılı olarak gösterilmiştir.)

    PHP- Kodu:
    ASYA ÜLKELERİ-----------------------------------------
    <
    SATIR>
      <
    Country_idAU </ country_id>
      <
    COUNTRY_NAMEAvustralya </ COUNTRY_NAME>
      <
    Region_id</ region_id>
    </ 
    SIRA>
    <
    SATIR>
      <
    Country_idCN </ country_id>
      <
    COUNTRY_NAMEÇin </ COUNTRY_NAME>
      <
    Region_id</ region_id>
    </ 
    SIRA>
    <
    SATIR>
      <
    Country_idHK </ country_id>
      <
    COUNTRY_NAMEHongKong </ COUNTRY_NAME>
      <
    Region_id</ region_id>
    </ 
    SIRA>
    <
    SATIR>
      <
    Country_idİÇİNDE </ country_id>
      <
    COUNTRY_NAMEHindistan </ COUNTRY_NAME>
      <
    Region_id</ region_id>
    </ 
    SIRA>
    <
    SATIR>
      <
    Country_idJP </ country_id>
      <
    COUNTRY_NAMEJaponya </ COUNTRY_NAME>
      <
    Region_id</ region_id>
    </ 
    SIRA>
    <
    SATIR>
      <
    Country_idSG </ country_id>
      <
    COUNTRY_NAMESingapur </ COUNTRY_NAME>
      <
    Region_id</ region_id>
    </ 
    SIRA>
      
    1 satır seçildi
    Örnek 5-6 Bir İç içe FLWOR İfadesini Kullanarak İlişkisel Veriyi XML Olarak Sorgulama

    PHP- Kodu:
    CONNECT hr
    Şifre girin
    şifre

    Bağlandı
    .

    Hibe OE İÇİN YERLER SEÇİN
    /
    CONNECT oe
    Şifre girin
    şifre

    Bağlandı
    .

    SELECT XMLQuery (
             
    ' fn $ için $ : koleksiyonu ("oradb: / OE / DEPOLAR") / SATIN
              iade <Depo kimliği = "{$ i / WAREHOUSE_ID}">
                       <Yer>
                         { fn içindeki $ j için : collection ("oradb: / HR / LOCATIONS") / ROW
                          Burada $ j / LOCATION_ID eq $ i / LOCATION_ID 
                          dönüş ($ j / STREET_ADDRESS, $ j / CITY, $ j / STATE_PROVINCE)}
                       </ Location>    
                     </ Depo>'          
    DOĞRUDAN İÇERİK); 
    Bu sorgu, iç içe FLWOR ifadelerini kullanmanın bir örneğidir. Bu ilişkisel tablo erişen warehousesörnek veritabanı şeması olduğunu oeve ilişkisel tablonun locationsörnek veritabanı şeması olduğunu HR. Bu örneği kullanıcı olarak çalıştırmak için oeönce kullanıcı olarak bağlanmalı hrve tablo üzerinde işlem oeyapmak için kullanıcıya izin vermelisiniz .SELECTlocations
    AlıntıAlıntı

  • #3
    TDW Team-S-Mod. usta_399 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Dec 2016
    Mesajlar
    38.158
    Total 'Thanks' Received by This User :
    0 Bu Konu icin
    2.958 Toplam

    Standart Cevap: 5 XML Verilerinin Sorgulanması ve Güncellenmesi

    Bu aşağıdaki sonucu üretir. (Sonuç netlik için burada oldukça basılı olarak gösterilmiştir.)
    PHP- Kodu:
    XMLQUERY '$ IINFN İÇİN: COLLECTION ( "ORADB: / OE / DEPOLAR") / ROWRETURN <WAREHOUSEID = "{$
    -------------------------------------------------- ------------------------------
    <Depo kimliği = "1">
      <Yer>
        <STREET_ADDRESS> 2014 Jabberwocky Rd </ STREET_ADDRESS>
        <ŞEHİR> Southlake </ ŞEHİR>
        <STATE_PROVINCE> Teksas </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "2">
      <Yer>
        <STREET_ADDRESS> 2011 Interiors Blvd </ STREET_ADDRESS>
        <ŞEHİR> Güney San Francisco </ CITY>
        <STATE_PROVINCE> Kaliforniya </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "3">
      <Yer>
        <STREET_ADDRESS> 2007 Zagora St </ STREET_ADDRESS>
        <ŞEHİR> South Brunswick </ CITY>
        <STATE_PROVINCE> New Jersey </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "4">
      <Yer>
        <STREET_ADDRESS> 2004 Charade Rd </ STREET_ADDRESS>
        <ŞEHİR> Seattle </ ŞEHİR>
        <STATE_PROVINCE> Washington </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "5">
      <Yer>
        <STREET_ADDRESS> 147 Spadina Ave </ STREET_ADDRESS>
        <ŞEHİR> Toronto </ ŞEHİR>
        <STATE_PROVINCE> Ontario </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "6">
      <Yer>
        <STREET_ADDRESS> 12-98 Victoria Caddesi </ STREET_ADDRESS>
        <ŞEHİR> Sidney </ ŞEHİR>
        <STATE_PROVINCE> Yeni Güney Galler </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "7">
      <Yer>
        <STREET_ADDRESS> Mariano Escobedo 9991 </ STREET_ADDRESS>
        <CITY> Mexico City </ CITY>
        <STATE_PROVINCE> Distrito Federal, </ STATE_PROVINCE>
      </ Location>
    </ Depo>
    <Depo kimliği = "8">
      <Yer>
        <STREET_ADDRESS> 40-5-12 Laogianggen </ STREET_ADDRESS>
        <ŞEHİR> Pekin </ ŞEHİR>
      </ Location>
    </ Depo>
    <Depo kimliği = "9">
      <Yer>
        <STREET_ADDRESS> 1298 Vileparle (E) </ STREET_ADDRESS>
        <ŞEHİR> Bombay </ ŞEHİR>
        <STATE_PROVINCE> Maharashtra </ STATE_PROVINCE>
      </ Location>
    </ Depo>
      1 satır seçildi. 
    Örnek 5-7 XMLTable Kullanarak İlişkisel Verileri XML Olarak Sorgulama

    PHP- Kodu:
    SELECT 
      
    XMLTable'DAN (
             '
    fn için $: koleksiyonu ("oradb: / OE / DEPOLAR") / SATIN
              iade 
    <Depo kimliği "{$ WAREHOUSE_ID}">
                       <
    Yer>
                         {
    fn içindeki j içincollection ("oradb: / HR / LOCATIONS") / ROW
                          Burada 
    LOCATION_ID eq LOCATION_ID 
                          dönüş 
    ($ STREET_ADDRESS, $ CITY, $ STATE_PROVINCE)}
                       </ 
    Location>                  </ Depo'); 
    Bu, her bir elemanın, tek bir sıra halinde birlikte çıktılan tüm elemanlar yerine, ayrı bir sıra olarak çıkarılması haricinde, aynı sonucu üretir .WarehouseWarehouse
    PHP- Kodu:
    COLUMN_VALUE-------------------------------------------------- ------
    <
    Depo kimliği "1">
      <
    Yer>
        <
    STREET_ADDRESS2014 Jabberwocky Rd </ STREET_ADDRESS>
        <
    ŞEHİRSouthlake </ ŞEHİR>
        <
    STATE_PROVINCETeksas </ STATE_PROVINCE>
      </ 
    Location>
    </ 
    Depo>
    <
    Depo kimliği "2">
      <
    Yer>
        <
    STREET_ADDRESS2011 Interiors Blvd </ STREET_ADDRESS>
        <
    ŞEHİRGüney San Francisco </ CITY>
        <
    STATE_PROVINCEKaliforniya </ STATE_PROVINCE>
      </ 
    Location>
    </ 
    Depo>
    . . .
      
    9 satır seçildi
    Tablo SELECT ifade , tablodaki her satır için geçerlidir . İfade boş sekansı XQuery ifade eşleşmeyen satırları için. Sadece New Jersey ve Seattle'daki depolar XQuery sorgusunu karşılar, böylece tek depolar iade edilir.warehousesXMLQuery<Details>...</Details>
    , XML Şeması tabanlı verileri içeren XMLTablebir XMLTypetabloyu sorgulamak için SQL / XML işlevini kullanır oe.purchaseorder. Tabloyu, XQuery ifadesi bağımsız değişkeninin bağlam öğesi olarak PASSINGsağlamak için yan tümce kullanır . Pseudocolumn çıkan sanal tablonun bir inşa elemanı tutan içeren, bu satın alma siparişleri için bilgi elemanı değeri vardır ve kimin eleman değeri vardır . Sorgu, sanal tablo ve veritabanı tablosu arasında bir birleştirme gerçekleştirir .purchaseorderXMLTableCOLUMN_VALUEA10poReferenceCo stCenterA10UserSMCCAINpurchaseorder
    PASSINGFonksiyon maddesi XMLTablegeçer OBJECT_VALUEve XMLTypetablo purchaseorderXPath bağlamında olarak hizmet etmek üzere,. Bu şekilde XMLTableifade , tabloya bağlı olarak değişirpurchaseorder. Bu nedenle, tablo purchaseordergörünmelidir önceXMLTable ifade FROMlistesinde. Bu, veri bağımlılığını içeren herhangi bir durumda genel bir gereksinimdir.
    AlıntıAlıntı

  •  

     

    Yetkileriniz

    • Konu Acma Yetkiniz Yok
    • Cevap Yazma Yetkiniz Yok
    • Eklenti Yükleme Yetkiniz Yok
    • Mesajınızı Değiştirme Yetkiniz Yok
    •  

    Page generated in 1.711.666.727.48947 seconds with 16 queries Sayfa Boyutu (266489)