Thursday 23 November 2017

Opcje Oracle Xmltype Store As Binary Options


16 Wybór magazynu danych XMLType i indeksowanie. Wprowadzenie do wyboru modelu pamięci masowej XMLType i metod indeksowania. XMLType to abstrakcyjny typ danych SQL, który udostępnia różne modele przechowywania i indeksowania, aby najlepiej pasować do danych XML i ich wykorzystanie. Ponieważ jest to dane abstrakcyjne typu, aplikacji i zapytań bazy danych zyskuje elastyczność, ten sam interfejs jest dostępny dla wszystkich operacji XMLType. Różne aplikacje wykorzystują dane XML w różny sposób Czasami jest on zbudowany z relacyjnych źródeł danych, dlatego jest stosunkowo zorganizowany Czasami jest używany do ekstrakcji, przekształcania , a także ładowanie operacji ETL, w których to przypadku jest dość ustrukturyzowane. Czasami jest on używany w przypadku dokumentów o nieformalnej strukturze lub półstrukturyzowanych, takich jak książki i artykuły. Podejścia średniookresowe mogą być różne dla różnych rodzajów danych. często zawierają ustalony zestaw zapytań, podczas gdy przypadki użycia w oparciu o dokumenty są często związane z arbitralnymi zapytaniami ad hoc szerokie spektrum użycia XML, nie ma jednego modelu pamięci masowej, zapewniającego optymalną wydajność i elastyczność w każdym przypadku użycia Oracle XML DB oferuje dwa modele pamięci masowej dla XMLType i kilka metod indeksowania odpowiednich dla różnych modeli pamięci masowej Można dopasować wydajności i funkcjonalności, które najlepiej pasują do rodzaju danych XML i sposobów ich używania. Dlatego też najważniejszą decyzją jest model przechowywania danych XMLType, dla którego dane XML Ten rozdział pomaga wybrać najlepszą opcję pamięci masowej dla danego use tables. XMLType tabele i kolumny mogą być przechowywane w następujący sposób. Binary przechowywania XML Jest to również nazywany trwałością po przeanalizowaniu Jest to domyślny model przechowywania dla Oracle XML DB Jest to post-parse, binarny format zaprojektowany specjalnie dla Dane XML Binarne XML jest kompaktowe i schematyczne XML Największą zaletą przechowywania danych w formacie binarnym jest elastyczność, którą można wykorzystać do dokumentów opartych na schematach XML lub dokumentów, które nie są oparte na schemacie XML Y może używać go ze schematem XML, który pozwala na dużą zmienność danych lub ewoluuje w sposób znaczący lub nieoczekiwanie Ten model pamięci masowej zapewnia również skuteczne częściowe uaktualnienie i płynną ocenę zapytania. Rejestracja relatywna-relacyjna Jest to również określane jako uporządkowane przechowywanie i trwałość obiektów Ten model pamięci masowych reprezentuje relację między jednostkami związaną z rozkładem ER danych XML. Zapewnia on najlepszą wydajność w przypadku danych wysoce zorganizowanych ze znanym i mniej lub bardziej ustalonym zestawem zapytań. Zapytanie jest zgodne z danymi relacyjnymi, a aktualizacje mogą być wykonywane na miejscu. Począwszy od bazy danych Oracle 12 c Wersja 1 12 1 0 1, niestrukturalny model przechowywania CLOB dla XMLType jest przestarzały Użyj binarnej pamięci XML. Jeśli wystąpiły dane XMLType, które są przechowywane jako dane CLOB, rozważ przenoszenie ich do binarnego formatu pamięci masowej XML przy użyciu Oracle GoldenGate Jeśli wierność dokumentowi jest ważna dla konkretnego dokumentu XML, następnie przechowuj jego kopię w relacyjnej kolumnie CLOB. racle XML DB obsługuje następujące typy indeksów na danych XMLType. B-drzewo indeksy funkcjonalne na obiektowo-relacyjne składowanie. XML indeks wyszukiwania na binarnym składowaniu XML. XMLIndex z elementami strukturyzowanymi i niestrukturyzowanymi na binarnych indeksach XML. b drzewa na poziomie wtórnym tabele utworzone automatycznie dla składnika XMLIndex zarówno elementy strukturyzowane, jak i niestrukturalne na binarnych składowaniach XML. Różne przypadki użycia wymagają różnych kombinacji modelu i indeksowania danych XMLType. XMLType Używaj spektrum przypadków danych do centrowania dokumentów. Podczas wybierania modelu pamięci masowej XMLType należy rozważyć natura danych XML i sposoby jej wykorzystania Jest wiele przypadków użycia, począwszy od większości centrów danych do większości dokumentów. Jest to zilustrowane na rysunku 16-1, w którym przedstawiono najbardziej przypadki centrów danych po lewej stronie i najbardziej skoncentrowane na dokumentach sprawy z prawej strony. Rysunek 16-1 Przykłady użycia XML i modele pamięci masowej XMLType. Dekrukcja rysunku 16-1 Przykłady użycia modułów XML i modele pamięci masowej XMLType. Data-centric data highl Struktura strukturalna, o stosunkowo statycznej i przewidywalnej strukturze, a aplikacje korzystają z tej struktury Dane są zgodne z schematem XML. Document-centric danych można podzielić na dwa przypadki. Dane są na ogół bez struktury lub mają zmienną strukturę przypadki dokumentów, które mają zarówno elementy strukturalne, jak i niestrukturalne Struktura dokumentów może zmieniać się w miarę upływu czasu, a treść może być mieszana w częściowej strukturze, z wieloma elementami zawierającymi zarówno węzły tekstowe, jak i elementy potomne Wiele elementów XML może być nieobecnych lub może występować w różnych zlecenia Dokumenty mogą lub nie odpowiadać schematowi XML. Dane są stosunkowo strukturalne, ale aplikacje nie korzystają z tej struktury, traktując je tak, jakby były bez strukturymon. Użyj spacji dla danych XML zapisanych jako XMLType. Recommendations provided dla przypadków użycia aplikacji, które odpowiadają zwykłym przypadkom użycia danych XML przechowywanych jako XMLType. Jeśli Twój przypadek użycia jest wspólny, t nie jest tu mowa, a następnie w dalszej części tego rozdziału znajdziesz informacje na temat przypadków specjalnych. Ta sekcja dotyczy wykorzystania danych XML, które utrzymują się jako typ użycia XMLType One dla danych XML polega na generowaniu danych XML z relacyjnych dane Ten przypadek nie jest tutaj opisany, gdyż obejmuje relatywną pamięć masową i generowane dane XML niekoniecznie utrzymuje się. W przypadkach, w których wygenerowane dane XML są utrzymywane jako XMLType, patrz XMLType Użyj danych stacjonarnych w formacie XML dla ETL. W tym przypadku użycia nie ma potrzeby aktualizowania ani przeszukiwania fragmentów danych XML przechowywanych w bazie danych. Masz te opcje do tego celu case. Store jako XMLType przy użyciu binarnej pamięci XML. Zawieraj ją w relacyjnej kolumnie BLOB lub CLOB, najlepiej na stronie LOB SecureFiles. Jeśli przechowujesz dane XML w relacyjnej kolumnie LOB, a nie w bazie danych XMLType Oracle Database nie analizujesz danych, nie może zagwarantować jego ważności Nie można wykonywać operacji XMLType na danych. XMLType Wykorzystanie integracji danych przypadków z różnych źródeł przy użyciu różnych schematów XML. Jeśli dane XML pochodzą z wielu źródeł danych używających różnych schematów XML, a następnie użyj binarnego magazynu XML. ma trzy podkategorie. Jeśli dane XML zawierają wyspy strukturalnych, przewidywalnych danych i zapytań, znane są XMLIndex z elementem strukturalnym do indeksowania wysp zorganizowanych, nawet jeśli dane otaczają Na tych wyspach nie ma struktur Składnik indeksu strukturalnego odzwierciedla używane zapytania Agregator RSS nowej generacji jest przykładem takiego użycia. Jeśli nie ma takich wysp zorganizowanych lub Twoje zapytania są znane przed czasem ad hoc, użyj XMLIndex z niestrukturyzowanym Jeśli używasz kwerend obejmujących przeszukiwanie pełnotekstowe, użyj indeksu wyszukiwania XML razem z XQuery pragma ora noschema. XMLType Użyj danych stacjonarnych dla danych XML dla ETL. W tym przypadku użycia dane są pobierane z zewnętrznych źródeł, przekształcane tak, aby pasowały potrzeby operacyjne są zazwyczaj relatywne, a następnie załadowane do obciążenia transformacji ekstraktu bazy danych ETL W szczególności transformacja odróżnia ten przypadek użycia. W przypadku przypadków użycia często integruje się dane z wielu aplikacji, które są utrzymywane lub obsługiwane przez wiele stron przy użyciu różnych systemów oprogramowania i sprzętu. jest często odpowiedzialny za strony inne niż te, które go przekształcają lub wykorzystują po transformacji. Dane XML to typ ically jest wysoce zorganizowana i jest zgodna z schematem XML Ten przypadek użycia obejmuje zarówno tworzenie relacyjnych danych z danych XML, jak i generowanie danych XML z danych relacyjnych. Podzbiór przypadków użycia ETL wymaga potrzeby skutecznego aktualizowania danych XML Aktualizacja może obejmować wymianę całości XML lub zmienia tylko fragmenty dokumentu częściowej aktualizacji. Za relatywne przechowywanie danych XMLType jest zasadniczo odpowiednie dla tego przypadku użycia. XMLType Użyj przypadku półstrukturyzowanego danych XML. W tym przypadku użycia dane XML są zmienne lub duże jej części nie są dobrze zdefiniowane Nie może być związany schemat XML, lub schemat XML może pozwolić na dużą zmienność danych lub ewoluować znacznie lub w nieoczekiwany sposób. Biblioteka XML przechowywania danych XMLType jest ogólnie odpowiednia dla tego przypadku użycia. Użyj indeksowania składnika XMLIndex strukturalnie, gdy znane są ścieżki zapytania i użyj indeksowania indeksu XMLIndex bez kompilowanego podzbioru ścieżki, gdy ścieżki nie są znane wcześniej ad hoc quer ies Użyj indeksu wyszukiwania XML dla kwerend XQuery Full-Text. XMLType Użyj kwerend biznesowych Query Query. Aby umożliwić BI-Business Intelligence zapytań nad danymi XML, można użyć funkcji XML XML XMLTable do wartości projektu zawartych w danych jako kolumny wirtualnego tabela Następnie użyj okna funkcji analitycznych, wraz z SQL ORDER BY i GROUP BY, aby działać na kolumnach wirtualnego table. For zapytania biznesowe-inteligencja, na ogół wykonasz wszystkie poniższe. Zachowaj dane XMLType jako binarne XML. Use a Indeks XMLIndex z elementem strukturyzowanym. Zrealizuj relacje relacyjne nad danymi za pomocą funkcji XML XML XMLTable, w której widoki projektują wszystkie kolumny, które dotyczą aplikacji BI. Rozwiązania z zapytaniami aplikacji względem tych relacji relacyjnych. Jeśli indeks XMLIndex jest tworzony w jednym do - jedna korespondencja z tymi widokami, Oracle Database automatycznie przetwarza zapytania w widokach do zapytań nad tabelami relacyjnymi składnika structured XMLIndex, zapewniając relację relacyjną ormance. W przypadku korzystania z okien funkcji analitycznych, ORDER BY lub GROUP BY na kolumnie tabeli wirtualnej operacje te są tłumaczone na okna, ORDER BY i GROUP BY na odpowiednich kolumnach fizycznych tabel strukturalnych XMLIndex. Dokumentacja Oracle twierdzi, że przechowuje XMLType bardziej zwartą niż BINARY XML niż CLOB. Ale jak sprawdzić, ile miejsca zajmuje binarny xml. So, vsize wydaje się być rozmiarem pewnego rodzaju wskaźnika lub lokalizatora LOB i getclobval rozpakowuje binarny XML na tekst Ale co z wielkością przechowywania samego binarnego XML. Zapomnij o pomocy, rozmiar tablicy to 340GB, więc warto spoglądać na opcje przechowywania. 15 lipca 14 w 17 41. Dobrze, segment ma nic do czynienia z wierszem jako takim Segmentem A jest albo tabela, partycja tabeli, indeks, LOB Ważną rzeczą jest przechowywanie w nim więcej niż 4k, dzięki czemu Twoja lob nie została przechowana w kolejce, co oznacza, że ​​w ramach bloku bazy danych sam wiersz, ale jest przechowywany w linii prostej e segment LOB gvenzl 22 lipca 14 w 13 00. problem rep, nie wolno zamieszczać komentarzy, które chciałbyś powiedzieć między pytaniami, ponieważ rozumiałem, że jedynym podobieństwem jest kwestia miejsca na dysku, pomyślałem, że oszacowanie szacunków nie wspomniało, jaki typ danych, które zamierzasz zapisać jako bXML. unpacks binarnego XML w text. If czystego XML to zależy od tego, co sprężarka zamierzasz używać Zazwyczaj lzma gzip jest używana do kompresji binarnej Może piszę o rzeczach zbyt oczywistych, ale że s wszystko, co wiem. 4 Korzystanie z XMLType. W tym rozdziale opisano sposób używania typu danych XMLType, tworzenia i manipulowania tabelami i kolumnami XMLType oraz zapytania na ich temat. Zawiera on następujące sekcje. Tabele i kolumny XMLType oparte na schemacie niestandardowym opisane w tym rozdziale nie są oparte na schemacie XML Możesz używać technik i przykładów podanych w tym rozdziale, niezależnie od tego, którą opcję przechowywania danych dla tabel XMLType i kolumn Zobacz rozdział 3, Korzystanie z bazy danych Oracle XML DB w celu ponownego nagrywania mmendations. XML opartych na schemacie Dodatek B, XML Schema Primer i Rozdział 5, Mapowanie strukturalne XMLType opisują, jak pracować z tabelami i kolumnami XMLType opartymi na schematach XML. Co to jest XMLType. Oracle9 i Wersja 1 9 0 1 wprowadziła nowy typ danych, XMLType w celu ułatwienia natywnej obsługi danych XML w bazie danych Poniższe podsumowanie XMLType. XMLType może być użyte w procedurach zapisanych w PL SQL jako parametry, zwroty i zmienne. XMLType może reprezentować dokument XML jako instancję typu XMLType w programie SQL. XMLType wbudowane funkcje członka, które działają na zawartość XML Na przykład można użyć funkcji XMLType do tworzenia, wyodrębniania i indeksowania danych XML przechowywanych w bazie danych Oracle9 i. Funkcjonalność jest również dostępna za pośrednictwem zestawu interfejsów API programu Application Program dostarczonych w języku PL SQL i Java. With XMLType i te możliwości, programiści SQL mogą wykorzystywać moc relacyjnej bazy danych podczas pracy w kontekście XML Podobnie twórcy XML mogą wykorzystać moc standardów XML wh ile pracuje w kontekście relacyjnej bazy danych. XMLType typ danych może być używany jako typ danych kolumn w tabelach i widokach Zmienne XMLType mogą być użyte w procedurach przechowywanych w programie PL SQL jako parametry, zwracane wartości itd. Możesz również użyć XMLType w SQL, PL SQL i Java przez JDBC. W Oracle9 i Release 1 9 0 1, XMLType był obsługiwany tylko na serwerze w SQL, PL SQL i Java W Oracle9 i Release 2 9 2, XMLType jest również obsługiwany po stronie klienta poprzez SQL, Java i protokoły, takie jak FTP i wiele użytecznych funkcji działających na zawartości XML. Wiele z nich jest dostarczanych jako zarówno SQL, jak i członkowie funkcji XMLType. Na przykład funkcja ekstraktu wyodrębnia określony węzeł z XMLType instancja. Będzie można używać XMLType w zapytaniach SQL w taki sam sposób, jak inne typów danych zdefiniowanych przez użytkownika w systemie. Dobraje typu danych XMLType i API. Rozkład XMLType i API zapewniają znaczne korzyści Umożliwia operacje SQL w treści XML, jak również XML operacji na zawartości SQL. Versatile API XMLType posiada wszechstronny interfejs API do tworzenia aplikacji, ponieważ zawiera wbudowane funkcje, indeksowanie obsługi, nawigację itd. XMLML oraz SQL W języku SQL można używać XMLType w połączeniu z innymi kolumnami i typami danych. na przykład można zapytać kolumny XMLType i dołączyć wynik ekstrakcji za pomocą kolumny relacyjnej, a następnie Oracle może określić optymalny sposób wykonywania tych zapytań. Optymalizowana optymalizacja przy użyciu XMLType XMLType jest zoptymalizowana, aby nie zmaterializować danych XML do struktury drzewa, chyba że potrzebne W związku z tym, gdy SQL wybiera instancje typu XMLType wewnątrz kwerend, tylko sekwencyjny formularz jest wymieniany przez granice funkcji Są one eksplodowane w formacie drzewa tylko wtedy, gdy wykonywane są operacje, takie jak ekstrakcja i e xistsNode Wewnętrzna struktura XMLType jest również zoptymalizowana struktura drzewa typu DOM Indeks indeksowania Oracle został ulepszony w celu obsługi kolumn XMLType Można także tworzyć indeksy funkcji na existN ode i wyodrębnić funkcje w celu przyspieszenia oceny zapytania. Korzystaj z XMLType. Use XMLType, jeśli konieczne jest wykonanie następujących zapytań SQL w części lub całym dokumencie XML. Funkcje istniejąNode i ekstrakt udostępniają niezbędne funkcje kwerendy SQL nad dokumentami XML. Silne pisanie wewnątrz instrukcji SQL i funkcji PL SQL Silne pisanie oznacza, że ​​wartości są przekazywane w postaci wartości XML, a nie dowolnego ciągu tekstowego. XPath dostarczany przez funkcje wyodrębniania i uwierzytelniania Należy zauważyć, że XMLType używa wbudowanego parsera XML C procesor, a tym samym zapewnia lepszą wydajność i skalowalność, gdy jest używany wewnątrz serwera. Indexing w XPath przeszukuje dokumenty XMLType posiada funkcje składowe, które można wykorzystać do tworzenia indeksów opartych na funkcjach w celu zoptymalizowania wyszukiwania. Aby osłonić aplikacje z modeli pamięci masowej Używając XMLType zamiast CLOB lub relacyjna pamięć masowa pozwala aplikacjom płynnie przenosić się na różne alternatywne opcje magazynowania później bez wpływu na żadne zapytania lub oświadczenia DML w aplikacji. Aby przygotować się na przyszłe optymalizacje Nowa funkcjonalność XML będzie obsługiwać XMLType Ponieważ baza danych Oracle9 i jest natywnie świadoma, że ​​XMLType może przechowywać dane XML, można uzyskać lepsze optymalizacje i techniki indeksowania Dzięki zapisywaniu aplikacji do używania XMLType tych optymalizacji i ulepszeń można łatwo uzyskać i zachować w przyszłych wydaniach bez konieczności przepisywania aplikacji. Storing danych XMLType w danych Oracle XML DB. XMLType można przechowywać na dwa sposoby lub ich kombinację. W dużych obiektach LOB Magazyn LOB utrzymuje dokładność zawartości oryginalnego XML białe miejsca i wszystko Tutaj dokumenty XML są przechowywane w postaci całych dokumentów, takich jak pliki W tej wersji dla przechowywania poza schematem, XMLType oferuje opcję przechowywania danych CLOB W przyszłych wersjach Oracle może udostępniać inne opcje przechowywania, takie jak BLOB, NCLOBS, itd. Możesz także utworzyć składowanie oparte na modelu CLOB dla przechowywania opartego na schematach XML. Po utworzeniu kolumny XMLType bez żadnego XM L schemat ukrytej kolumny CLOB jest automatycznie tworzony w celu zapisania danych XML Kolumna XMLType sama staje się wirtualną kolumną w tej ukrytej kolumnie CLOB Nie można bezpośrednio uzyskać dostęp do kolumny CLOB, ale można ustawić parametry przechowywania dla kolumny przy użyciu klauzuli przechowywania XMLType. W strukturze przechowywania danych w tabelach i widokach Strukturalna pamięć zachowuje wierność DOM Document Object Model Fidelity Tutaj dokumenty XML są rozbite na rozkładane w tabelach lub relacyjnych tabelach XMLType uzyskuje wierność DOM dzięki utrzymywaniu informacji, które zwykle wykonują obiekty SQL lub Java nie przewiduje, takich jak. Odseparowanie elementów i atrybutów dziecka. Rozróżnienie pomiędzy elementami i atrybutami. Zawartość strukturalna zadeklarowana w schemacie Na przykład treść mieszana lub deklaracje. Uwidzowane dane w dokumentach instancji, takie jak instrukcje przetwarzania, komentarze i przestrzeń nazw declarations. Support dla podstawowych typów danych XML niedostępnych w SQL Boolean, QName, i tak dalej on. Support dla aspektów ograniczeń XML nieobsługiwanych bezpośrednio przez program SQL, takich jak listy wyliczone. Native XMLType instancje zawierają ukryte kolumny, które przechowują dodatkowe informacje, które nie pasują do modelu obiektu SQL Te informacje mogą być dostępne za pośrednictwem interfejsów API w języku SQL lub Javie , korzystając z funkcji członkowskich, takich jak extractNode. Zmiana przechowywania danych XMLType z strukturyzowanej pamięci masowej na LOB lub odwrotnie, jest możliwa za pomocą bazy danych IMPORT i EXPORT Twój kod aplikacji nie musi się zmieniać Podczas modyfikowania aplikacji można zmienić opcje przechowywania danych XML każda opcja przechowywania ma swoje zalety. Wady i zalety opcji przechowywania danych w programie Oracle XML DB. Table 4-1 przedstawia skróty zalet i wad, które należy rozważyć przy wyborze opcji przechowywania danych Oracle XML DB. Opcje przechowywania danych w formacie 4-1 w programie Oracle XML DB. Example 4-12 Określanie ograniczeń w kolumnach XMLType Columns. prevents, takich jak. Example 4-13 Używanie ALTER TABLE do zmiany NOT NULL kolumn XMLType. Możesz również użyć AL TER TABLE w celu zmiany informacji NOT NULL w kolumnie XMLType, podobnie jak w przypadku innych typów kolumn. Można również określić ograniczenia sprawdzania w kolumnach XMLType Inne wartości domyślne nie są obsługiwane w tym typie danych. Analizy danych XML w tabelach kolumn XMLType . Ponieważ XMLType jest zdefiniowanym przez użytkownika typem danych z zdefiniowanymi funkcjami, można wywołać funkcje na XMLType i uzyskiwać wyniki. XMLType można używać wszędzie tam, gdzie używasz typu zdefiniowanego przez użytkownika, w tym dla kolumn, widoków, ciał wyzwalających i typu Definicje. Możesz wykonywać następujące manipulacje lub język manipulacji danymi na danych XML w kolumnach i tabelach XMLType. Wstawianie danych XML do tabel kolumn XMLType. Następnie możesz wstawiać dane do kolumn XMLType w następujący sposób. Kolumny XMLModel można przechowywać tylko dobrze Dokumenty XML Fragmenty i inne nieudane formaty XML nie mogą być przechowywane w kolumnach XMLType. Korzystanie z instrukcji INSERT. Aby użyć instrukcji INSERT, aby wstawić dane XML do typu XMLType, musisz najpierw utworzyć dokumenty XML, aby wykonać insert z możesz utworzyć wstawiające dokumenty XML w następujący sposób. By przy użyciu konstruktorów XMLType To można zrobić w SQL, PL SQL i Java. By przy użyciu funkcji SQL jak XMLElement XMLConcat i XMLAGG Można to zrobić w SQL, PL SQL i Java. Example 4-14 Wstawianie danych XML przy użyciu createXML z CLOB. W poniższych przykładach użyto INSERT SELECT i konstruktora XMLType, aby najpierw utworzyć dokument XML, a następnie wstawić dokument do kolumn XMLType Zanotuj tabelę zawierającą poclobtab CLOB, poClob do przechowywania dokumentu XML. Example 4-15 Wstawianie danych XML przy użyciu instancji XMLType. Możesz wstawić dokument XML zamówienia zakupu do tabeli, poxmltab, po prostu utworzyć instancję XML z danych CLOB przechowywanych w innym poclobtab. Można również uzyskać wartość CLOB z dowolnej wyrażenia, włącznie z funkcjami, które mogą tworzyć tymczasowe CLOB lub wybrać CLOB z innej tabeli lub widoków. Przykład 4-16 Wstawianie danych XML przy użyciu XMLType z String. This przykład wstawia zamówienie zakupu do tabeli potab przy użyciu konstruktora XMLType. Przykład 4-17 Wstawianie danych XML przy użyciu funkcji XMLElement. Ten przykład wstawia zamówienie zakupu do tabeli poxmltab, generując go przy użyciu funkcji XMLElement SQL Załóżmy, że zamówieniem jest widok obiektu, który zawiera obiekt zlecenia zakupu Cała definicja widoku zlecenia zakupu jest podana w DBMSXMLGEN Generowanie zlecenia zakupu z bazy danych w formacie XML. XMLElement tworzy plik XMLType z obiektu zamówienia zakupu, który jest następnie wstawiany do tabeli poxmltab Można również użyć SYSXMLGEN w instrukcji INSERT. Wybieranie i przeszukiwanie danych XML. Możesz zapytać dane XML z kolumn XMLType w następujący sposób. Wybierając kolumnę XMLType za pośrednictwem SQL, PL SQL lub Java. By zapytanie kolumny XMLType bezpośrednio i przy użyciu wyodrębniania i istnienia. Jednak przy użyciu Operatory tekstowe Oracle do wyszukiwania treści XML Zobacz kolumny XMLType indeksowania i Rozdział 7, Wyszukiwanie danych XML za pomocą funkcji Oracle Text. SQL for Manipula ting XML data. SQL funkcje, takie jak existingNode wyodrębnić XMLTransform i updateXML działają na danych XML wewnątrz SQL XMLType typ danych obsługuje większość z nich jako funkcji członka Można użyć albo egoistycznego stylu wywołania lub SQL functions. Selecting XML Data. You może wybrać XMLType dane za pomocą języka PL SQL lub Javy Można również użyć funkcji getClobVal, getStringVal lub getNumberVal w celu pobrania XML jako odpowiednio CLOB, VARCHAR lub NUMBER. Na przykład 4-18 Wybieranie kolumn XMLType przy użyciu metody getClobVal. Ten przykład pokazuje, jak wybrać kolumnę XMLType przy użyciu SQL Plus. Querying XML Data. You może zapytać dane XMLType i wyodrębnić jego fragmenty za pomocą funkcji existsNode i ekstraktów Obie te funkcje korzystają z podzestawu zalecenia W3C XPath, aby nawigować po dokumencie. Korzystając z wyrażeń XPath do wyszukiwania dokumentów XML. XPath jest zalecenie W3C do nawigacji w dokumentach XML XPath modeluje dokument XML jako drzewo węzłów Zapewnia bogaty zestaw operacji, aby przejść po drzewie i zastosować predykaty i węzły testowe Zastosowanie wyrażenia XPath do dokumentu XML może powodować zestaw węzłów Na przykład PO PONO wybiera wszystkie elementy podrzędne PONO pod elementem PO dokumentu. Tabela 4-2 zawiera listę typowych konstrukcji używanych w XPath. Table 4-2 Niektóre typowe konstrukcje XPath. Zaznaczanie danych XML za pomocą funkcji użytkownika XMLType. Można wybrać dane typu XMLType za pośrednictwem PL SQL, OCI lub Java. Odpowiednio VARCHAR lub numer. Przykład 4-19 Pobieranie dokumentu XML jako CLOB Korzystanie z getClobVal i existingNode. Ten przykład pokazuje, jak wybrać kolumnę XMLType przy użyciu funkcji getClobVal i existsNode. existsNode. Składnia funkcji existsNode jest opisana na rysunku 4-2, a także w następujący sposób. Funkcja 4-2 existsNode Składnia. Text description funkcji illustration. existsNode na XMLType sprawdza, czy dana ocena systemu XPath zawiera co najmniej jeden element XML lub tekst węzeł Jeśli tak, zwraca wartość liczbową 1, w przeciwnym razie zwraca wartość 0 Przestrzeń nazw może być użyta do zidentyfikowania mapowania prefiksów es określonych w obiekcie XPathstring do odpowiadającego im obszaru nazw s. Example 4-20 Używanie existingNode na XMLType. Na przykład, rozpatrzmy dokument XML, taki jak wyrażenie XPath, np. PO PNAME powoduje pojedynczy węzeł W związku z tym istniejeNazwa zwróci 1 dla tego XPath Jest to samo z tekstem PO PNAME, który powoduje pojedynczy węzeł tekstowy. Wyrażenie XPath takie jak PO POTYPE nie zwraca żadnych węzłów Dlatego też istnieje wartość zwracana przez węzeł. Niektóre z nich spowoduje zwrócenie wartości 0. Podsumowując, funkcja członkowska może być użyta w zapytaniach i tworzeniu indeksów opartych na funkcjach w celu przyspieszenia oceny zapytań. Przykład 4-21 Korzystanie z trybu existsNode do Znajdź węzeł. Poniższe przykładowe testy dotyczące istnienia węzła Magazyn Dock w ścieżce XML kolumny warehousespec tabeli przykładowej. Korzystanie z indeksów do oceny existingNotwa. Możesz tworzyć indeksy oparte na funkcjach, używającnamesNode, aby przyspieszyć wykonanie Można także utworzyć indeks CTXXPATH, aby przyspieszyć dowolne wyszukiwanie XPath. extract Funkcja Wyciągi f jest podobne do funkcji e xistsNode Używa ciąg znaków VARCHAR2 XPath z opcjonalnym parametrem przestrzeni nazw i zwraca instancję XMLType zawierającą XML fragment Składnia została opisana na rysunku 4-3 i następująco. Składnia WyraŜenia 4-3 Składnia. Text description of illustration. extract na XMLType wyodrębnia węzeł lub zbiór węzłów z dokumentu zidentyfikowanego przez wyraŜenie XPath Wyodrębnione węzły mogą elementy, atrybuty lub węzły tekstowe Po wyodrębnieniu wszystkie węzły tekstowe są zwijane w pojedynczej wartości węzła tekstowego Przestrzeń nazw może być użyta do dostarczania informacji o przestrzeni nazw dla prefiksów w ciągu XPath. XMLType wynikające z zastosowania XPath przez wyciąg nie musi być dobrze udokumentowany dokument XML, ale w niektórych przypadkach może zawierać zestaw węzłów lub prostych danych skalarnych Można użyć metod getStringVal lub getNumberVal na XMLType w celu wyodrębnienia to dane skalarne. Na przykład wyrażenie XPath PO PNAME identyfikuje element PNAME w dokumencie XML przedstawionym poprzednio. Tekst PO PNAME z drugiej strony odnosi się do węzła tekstowego elementu PNAME. Ten ostatni jest nadal uważany za typ XMLType In inne słowa, wyodrębnij poDoc, tekst PO PNAME nadal zwraca instancję typu XMLtype, chociaż instancja rzeczywiście zawiera tylko tekst. Możesz użyć getStringVal, aby uzyskać wartość tekstową jako wynik result_vARCHAR2.Nazwa węzła testowego do identyfikacji węzłów tekstowych w elementach przed użyciem getStringVal lub getNumberVal konwertują je na dane SQL Nie ma węzła tekstowego, który mógłby wytworzyć fragment XML. Na przykład wyrażenia XPath. PO PNAME identyfikuje fragment PNAME PO1 PNAME. Tekst PO PNAME identyfikuje wartość tekstu PO1.Możesz używać mechanizmu indeksu do identyfikowania poszczególnych elementów w przypadku powtórzonych elementów w dokumencie XML Na przykład, jeśli masz dokument XML, na przykład. PONO 1 w celu zidentyfikowania pierwszego elementu PONO o wartości 100. PONO 2 w celu identyfikacji drugiego elementu PONO o wartości 200. Wynik wyodrębnienia zawsze jest XMLType Jeśli zastosowanie metody XPath powoduje utworzenie pustego zestawu, wyodrębnienie zwraca wartość NULL. funkcja ekstrahowania członu może być użyta na kilka sposobów, w tym następujących. Ekstrakcja wartości liczbowych, na podstawie których można tworzyć indeksy zależne od funkcji, aby przyspieszyć przetwarzanie. Ekstrakcja zbiórów wyrażeń do użycia w klauzuli FROM instrukcji SQL. Ekstrakcja fragmentów może być później agregowany w celu uzyskania różnych dokumentów. Przykład 4-22 Użycie ekstraktu do wyodrębnienia wartości węzła. Ten przykład wyodrębnia wartość węzła, Magazyn Doki kolumny, magazynu w tabeli. extractValue Funkcja. Funkcja extractValue przyjmuje jako argumenty typ XMLType instancja i wyrażenie XPath Zwraca wartość skalarną odpowiadającą wynikowi oceny XPath w składni ekstradycji XMLType extractValue również na rysunku 4-4.XML s dokumenty bazujące na chema W przypadku dokumentów opartych na schemacie XML, jeśli Oracle9 może wywnioskować o typ wartości zwracanej, zwracana jest wartość skalarna odpowiedniego typu. W przeciwnym razie wynik jest dokumentem typu VARCHAR2.Niezestawem na dokumenty nie na podstawie schematów XML, typem zwrotu jest zawsze VARCHAR2.extractValue próbuje wywnioskować odpowiedni typ zwracania z schematu XML dokumentu Jeśli XMLType nie jest oparty na schemacie lub nie można określić prawidłowego typu zwrotu, Oracle XML DB zwraca VARCHAR2.First 4-4 extractValue Syntax. Text description of the illustration. A Skrót Funkcja. extractValue umożliwia łatwiejsze wyodrębnienie pożądanej wartości niż przy użyciu równoważnej funkcji ekstrakcji Jest to łatwiejsza w użyciu i skrócona funkcja Więc zamiast z using. you można zastąpić lub z extractValue jak poniżej. W extractValue można pozostawić poza tekstem, ale tylko wtedy, gdy węzeł wskazywany przez część ścieżki ma tylko jedno dziecko, a dziecko to węzeł tekstowy W przeciwnym razie błąd jest rzucony. extractValue składnia jest taka sama jak extract. extractValue Characteristics. extractValue ma następujące właściwości. Nie zawsze zwraca tylko zawartość skalarną, taką jak NUMBER VARCHAR2 itd. Nie można zwrócić węzłów XML lub mieszanej zawartości Powoduje błąd podczas kompilacji lub uruchomienia jeśli otrzyma węzły XML w wyniku. Jest domyślnie zwraca VARCHAR2 domyślnie Jeśli wartość węzła s większa niż 4K, wystąpiłby błąd czasu wykonania. W obecności informacji o schemacie XML, w czasie kompilacji, extractValue może automatycznie zwrócić odpowiednie typ danych na podstawie informacji o schemacie XML, jeśli może wykryć tak w czasie kompilacji kwerendy Na przykład, jeśli informacja o schemacie XML dla ścieżki PO POID wskazuje, że jest to wartość liczbowa, a następnie extractValue zwraca liczbę NUMBER. Jeśli identyfikator XPath węzeł, automatycznie dostaje treść skalarną od swojego dziecka tekstowego Węzeł musi mieć dokładnie jedno dziecko tekstowe Na przykład. przypisuje dziecko tekstowe PNAME To jest równoważne. Przykład 4-23 Wyodrębnianie wartość skalarna fragmentu XML przy użyciu parametru extractValue. W następującym przykładzie załadowano te same argumenty, co przykład dla funkcji ekstraktu Zamiast zwracać fragment XML, jak to czyni, zwraca wartość skalarną fragmentu XML. ExtractValue jest automatycznie wyodrębniany tekst dziecka elementu bazy danych i zwrócił tę wartość Można również napisać to przy użyciu wyciągu w następujący sposób. Więcej przykładów SQL, które kwerendy XML. Poniższe przykłady SQL ilustrują sposoby można zapytać XML. Example 4-24 Querying XMLType Using extract and existsNode. Assume tabela poxmltab, która zawiera identyfikację zlecenia zakupu i kolumny XML zlecenia zakupu i zakłada, że ​​w tabeli są wstawiane następujące wartości. Teraz można wyodrębnić wartości liczbowe numerów zamówień przy użyciu wyciągu. Następujący ekstrakt wyodrębnia zawartość znacznik, numer zamówienia zakupu, PONO existNode wyszukuje węzły, w których PONO istnieje jako dziecko funkcji tekstowej PO. Here jest używany tylko do zwrócenia węzłów tekstowych g Funkcja etNumberVal może konwertować tylko wartości tekstowe na liczbę liczbową. Manejando XMLType i Oracle Database 11gR2 a trav s del componente XDB. Por Francisco Riccio Publicado en frill 2017.XML es un lenguaje dise ado para estructurar documentos con la finalidad de intercambiar informaci n entre diferentes plataformas. Oracle Database desde la versi n 9iR2 nos proporciona un tipo de dato nativo llamado XMLTYPE el cual nos permite albergar informaci n en formato XML con soporte a XSD esquema de validaci n , XSLT transformaciones de documentos , XPATH, XQUERY, indexamiento y particionamiento a documentos XML En las versiones Oracle Database 9i y 10g los documentos XML se almacenan como CLOB internamente pero a partir de la versi n Oracle Database 11g se ha creado una nueva forma de almacenar los documentos XML, dicho almacenamiento es en formato binario Binary XML Este nuevo modo de almacenar es ms eficiente en el consumo de espacio y en el tiempo de respuesta en el acceso a los datos Bi nary XML es el modo de almacenar por default a partir de la versi n 11 2 0 2.Debemos tener presente que albergar informaci n en formato XML en nuestra base de datos da la posibilidad de romper modelos altamente relacionales en modelos relacionales jer rquicos disminuyendo una serie de tablas normalizadas en nuestro dise o. En el ejemplo a implementar se crear una tabla llamada RESERVA que almacenar los pedidos de un cliente, dichos pedidos ser n almacenados en un campo XML con almacenamiento binario sobre una base de datos versi n 11 2 0 3.a Validaci n del componente XDB. El trabajo en XML con Oracle Database se hace a trav s del componente XDB Este componente permite albergar informaci n de tipo XMLType tipo de dato nativo para XML. Asimismo el componente XDB mantiene un repositorio llamado XML DB Repository que permite organizar y manejar los documentos XML en forma de archivos y carpetas, los cuales son llamados recursos Debemos pensar en este repositorio como si fuera un filesystem qu e se encuentra internamente en nuestra base de datos. Se adjunta un gr fico mostrando los 2 sub-componentes explicados que conforman el componente XDB de la base de datos. Para validar el status de este componente consultamos el siguiente query. SQL select compname, status from dbaregistry where compname Oracle XML Database El status debe devolver el valor de VALID Ejemplo. b Creando el Esquema de Validaci n. Para dicha implementaci n, primero crearemos un esquema de validaci n de documentos XML XSD con la finalidad de que todo documento XML ingresado cumpla cierta estructura y condiciones. Acorde a nuestro ejemplo, necesitar amos crear un esquema de validaci n que solo permita el ingreso de pedidos que se compongan de 5 elementos fecha, precio unitario pu , cantidad, descripci n y tipo de pedido Donde el elemento Pedido tiene un atributo de tipo entero Cada elemento tiene su propio tipo de dato y algunas reglas de negocio por ejemplo el atributo tipo solo puede albergar los valores A, B y C asimismo el elemento cantidad solo puede albergar valores enteros comprendidos de 0 a 50.Cualquier documento XML debe cumplir con dicha especificaci n y ser validado al momento de ser insertado en la tabla RESERVA que crearemos m s adelante. Se presenta el documento XSD que registraremos en la base de datos. Para registrar el documento XSD en la base de datos lo hacemos a trav s del procedure. Se detallan algunos de los par metros. a Local, si el valor es true el documento XSD se guardar dentro del componente XDB en la carpeta sys schemas owner En caso contrario se guardar en la carpeta sys schemas PUBLIC. b Gentypes, al crear el archivo XSD se crear un tipo de Object Table que se basar en las reglas del esquema cuando se le asigne el valor de true En nuestro caso posteriormente crearemos la tabla de forma manual, por dicha raz n se ha colocado el valor de false. c Genbeans, si su valor es true se crear Java Beans al crear el archivo XSD. d Gentables, al crear el archivo XSD se crear una ta bla que se basar en las reglas del esquema si se le asigna el valor de true. e Force, si se coloca el valor de true no dar error en caso exista problemas en registrar el archivo XSD. Es importante colocar la opci n si es que pensamos almacenar los documentos en Binary XML Si no agregamos est opci n y queremos crear una tabla que use almacenamiento en Binary XML tendremos el siguiente error. Asimismo podemos ver como el archivo XSD ha sido creado dentro del XML DB Repository despu s de ser registrado. Debemos configurar los puertos de XDB para acceso FTP o si deseamos visualizar o manipular los archivos dentro de XML DB Repository por dichos protocolos. Esto lo realizamos mediante el paquete dbmsxdb, ejemplo. Se adjunta un ejemplo de c mo deben ser los documentos XML que se ingresar n en la tabla RESERVA cumpliendo con el esquema de validaci n. Nota Debemos recordar que otra manera de poder validar documentos XML es mediante DTD, pero a diferencia de los esquemas de validaci n, los DTD no sigu en una sintaxis XML nacieron basado en el ISO 8879 para el lenguaje SGML y no para XML y adem s no permite especificar los tipos de datos de los elementos, por dicha raz n la recomendaci n es usar esquemas de validaci n. c Creando la tabla Reserva. Hemos creado una tabla llamada RESERVA que se compone de un campo llamado pedido de tipo XMLTYPE el cual le estamos especificando que ser almacenado como Binary XML Recordemos que a partir de la versi n 11 2 0 2 hacia delante, ste ser el default Tambi n indicamos que el campo pedido ser validado por el esquema que previamente lo hemos creado. Nota El tipo de dato XMLTYPE almacenado como Binary XML se guarda internamente como un SecureFile LOB autom ticamente en versi n Oracle Database 11 2 0 2 En caso no pueda crearse de esa manera lo har como Basic LOB Recordemos que no ser posible la creaci n de objetos SecureFile LOB cuando el tablespace no est configurado como ASSM el par metro DBSECUREFILE est en FALSE. Ingresaremos un documento XML que no cumpla la especificaci n del esquema XSD definido para ese campo. En este ejemplo vemos que la operaci n de INSERT falla porque el documento XML no cumple con la especificaci n definida en el archivo XSD En este caso falt el atributo cod de cada elemento Pedido, donde el atributo lo hemos configurado como requerido. Lo corregimos y veremos que ahora si se registra. Nota Es posible insertar un documento a partir de un archivo XML existente en el Sistema Operativo o en el XML DB Repository, ejemplo. d Creaci n de ndices. Para indexar columnas cuyo almacenamiento es Binary XMLType lo podemos hacer mediante ndices basado en funciones ndices de tipo XML Index. En My Oracle Support MOS Nota 742192 1 Indexing Binary XML Columns , se espec fica que no est asegurado el uso de ndices basado en funciones en campos almacenados como Binary XML, por lo cual la recomendaci n es crearlo como XML Index. XML Index es un nuevo tipo de ndice a partir de la versi n Oracle Database 11g. Ejemplo de su creaci n. El pr oblema con este tipo de creaci n por default es que crear ndices por cada elemento que tenga el documento XML de modo que podr a perjudicarnos en espacio. Para nuestro ejemplo solo indexar el elemento pu precio unitario. Podemos apreciar que para crear el ndice de manera m s espec fica debemos apoyarnos del uso de XPATH para seleccionar el elemento que queremos indexar. Si ejecutamos una consulta mediante XPATH podemos apreciar que el ndice es utilizado. e Actualizaciones sobre el campo Binary XML. Existen algunas funciones que nos ayudan a dar mantenimiento a los elementos de un documento XML ya registrado Haremos la demostraci n de tres de ellos. e 1 Agregaremos un nuevo elemento pedido sobre el documento XML. e 2 Deseamos modificar el pu precio unitario del nuevo elemento pedido ingresado del valor de 30 a 20.e 3 Deseamos eliminar el ltimo elemento ingresado. f 1 Si deseamos obtener el documento XML como String. f 2 Si deseamos obtener el documento XML como CLOB. f 3 Crear un String o CLOB a partir de un contenido. XPath es un lenguaje que nos permite construir expresiones con la finalidad de recorrer un documento XML y entregarnos los nodos del documento que contienen la informaci n que deseamos. Ejemplo 1, deseamos obtener todos los pu precios unitarios de la reserva con id 1.Ejemplo 2, deseamos obtener aquellos pedidos que han superado un precio unitario de 48 de tipo A. En nuestro caso no existe filas devueltas porque no tenemos ning n pedido que tenga un precio unitario superior a 48 de tipo A. Ejemplo 3, deseamos obtener aquellos pedidos cuyo atributo cod sea diferente del valor de 3.XQuery es un lenguaje de consulta dise ado para trabajar con colecciones de datos XML, el cual proporciona los medios para extraer y manipular informaci n de documentos XML de cualquier fuente de datos que pueda ser representada mediante XML. Ejemplo 1, se desea obtener aquellos pu precios unitarios , si uno de ellos sobrepasa el valor de 40 debe aumentarse un costo de 18.a La funci n XMLQUER Y recibe de par metro una consulta XQuery y el documento XML el cual lo pasamos a trav s del comando PASSING y asimismo solicitamos el retorno del resultado del script XQuery. b El comando FOR nos permite recorrer todos los nodos a partir de una ruta, en este caso estamos recorriendo todos los elementos Pedido de la ra z pedidos. c El comando LET nos permite crear variables y asignarles un valor espec fico, en este caso se ha creado la variable pu. Ejemplo 2, a partir de una tabla o vista generar una salida XML. Tambi n le podemos colocar comandos de for, let, etc como se vio en el ejemplo 1.La opci n ora view crea una vista en tiempo de runtime, esta opci n est disponible desde la versi n Oracle Database 11g. g Vistas del Diccionario de Datos. Oracle Database nos ofrece algunas vistas tiles referente a nuestros objetos XML. Listar todos los schemas de la base de datos. Listar todos los Object Tables XML. En nuestro caso nos devuelve filas ya que hemos creado tablas que contienen columnas XML n o Object Tables XML. Listar todas las columnas que son de tipo XMLTYPE o XML INDEX. XML DOM es una interfaz de programaci n API que proporciona un conjunto de objetos para representar documentos XML y asimismo acceder y modificar el contenido, estructura y estilo de un documento XML La implementaci n de DOM sobre Oracle Database est dado sobre el paquete XMLDOM. Sobre nuestro escenario se recorrer cada atributo y elemento de cada documento XML. Concluimos que Oracle Database nos provee un soporte completo y herramientas para poder trabajar con documentos XML y sus tecnolog as relacionadas como XPATH, XQuery, Esquemas de validaci n, etc Podemos asimismo aprovechar XML en ventaja de generar modelos relacionales jer rquicos en pro de eliminar un nivel detallado de normalizaciones en nuestro dise o y as eliminar una serie de joins en nuestras consultas SQL generando un mejor tiempo de respuesta en nuestros programas. Publicado por Ing Francisco Riccio Es un IT Specialist en IBM Per e instructor de cursos oficiales de certificaci n Oracle Est reconocido por Oracle como un Oracle ACE y certificado en productos de Oracle Application Base de Datos. Binary XML Data Storage in 11g. Oracle 11g New Features Tips. In previous versions of Oracle, two Extensible Markup Language XML storage options were available unstructured, or CLOB, and storage and structured, or schema-based In Oracle 11g, binary XML has been added as a new storage option. Unstructured storage treats an XML document as a large object and stores the file in the database without being aware of the content This option has the best insertion and deletion performance, but the worst relational access and consumption of disk space. Structured storage requires prior registration of the XML schema and inserts an XML document into an object-relational structure This storage option has the best query performance and disk space consumption, but the highest cost during initial insertion This high cost is caused because during inserti on, the document is shredded and stored into database objects created during the registration of the XML schema. Binary XML, the new storage option introduced in 11g, stores the document in a post-parse binary format designed specifically for XML This option will likely be the best choice for most XML requirements The additional binary storage offers insertion performance comparable to unstructured storage, yet query and disk space performance that is comparable to structured storage Unlike structured storage, the benefits of binary XML are not dependent on schema registration This is due to the option of registering a binary XML schema to have schema based binary XML tables However, one limitation remains in that a registered XML schema cannot be shared between a binary XML and object relational table. The best strategy when choosing how to manage XML content is to first try the binary storage option and evaluate whether the performance is acceptable If the relational access performance is not acceptable, then try the structured storage option The reason that binary storage is preferred is that it is easy to use and requires the least amount of maintenance because schema registration is not required Binary XML type columns are also easier to use in non-XMLType tables since performance is not dependent on the creation of indexes. To use binary storage, the XML table must be created with the following syntax. SQL CREATE TABLE BINARYXMLTABLE OF XMLType XMLTYPE STORE AS BINARY XML 2.Consider the following XML document for order transactions. xml version 1 0 order customer name Customer ABC name ccNum 1234123412341234 ccNum customer orderLines item itemid 108 itemid itemname ORACLE 11G NEW FEATURES BOOK ED1 0 itemname quantity 1 quantity unitPrice 38 00 unitPrice item item itemid 109 itemid itemname ORACLE TUNING GUIDE ED1 0 itemname quantity 1 quantity unitPrice 22 00 unitPrice item orderLines receipt subtotal 60 00 subtotal salesTax 4 80 salesTax total 64 80 total receipt order. Insert this document into the binary XML table using the following syntax. SQL insert into BINARYXMLTABLE values XMLTYPE BFILENAME. After insertion, the document is immediately available for relational access. SELECT extractValue value b , order customer name customername, extractValue value d , item itemid itemid, extractValue value d , item quantity quantity, extractValue value d , item unitPrice unitprice, extractValue value b , order receipt subtotal subtotal, extractValue value b , order receipt salesTax salesTax, extractValue value b , order rec eipt total total from BINARYXMLTABLE a, TABLE XMLSequence Extract objectvalue, order b, TABLE XMLSequence Extract value b , order orderLines c, TABLE XMLSequence Extract value c , orderLines item d. CUSTOMERNAME ITEMID QUANTITY UNITPRICE SUBTOTAL SALESTAX TOTAL -------------- ------- -------- ---------- -------- -------- ------ Customer ABC 108 1 38 00 60 00 4 80 64 80 Customer ABC 109 1 22 00 60 00 4 80 64 80.As demonstrated above, the syntax for relational access to a binary XML table does not change from other storage options. This is an excerpt from the new book Oracle 11g New Features Expert Guide to the Important New Features by John Garmany, Steve Karam, Lutz Hartmann, V J Jain, Brian Carr You can buy it direct from the publisher for 30 off. Burleson is the American Team. Note This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals Feel free to ask questions on our Oracle forum. Verify experience Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise All legitimate Oracle experts publish their Oracle qualifications. Errata Oracle technology is changing and we strive to update our BC Oracle support information If you find an error or have a suggestion for improving our content, we would appreciate your feedback Just e-mail and include the URL for the page. The Oracle of Database Support. Copyright 1996 - 2017.All rights reserved by Burleson. Oracle is the registered trademark of Oracle Corporation.

No comments:

Post a Comment