Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> XMLType niepełny insert, bardzo proszę o pomoc
fredipop
post 14.11.2007, 22:52:03
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 30.12.2006

Ostrzeżenie: (0%)
-----


Witam
Mam następujący problem z kolumna typu XML( dokładniej MXLType):


insert into ksiazka_xml values(15,XMLType('<ksiazka>
<tytul>Elektronika</tytul>
<autorzy>
<autor>Augustyn Chwaleba</autor>
<autor>Bogdan Moeschke</autor>
<autor>Grzegorz Ploszajski</autor>
</autorzy>
<wydawca>PWN</wydawca>
<wydanie>trzecie</wydanie>
<rok>1994</rok>
<typ>podrecznik</typ>
<isbn>00-32-2345-12</isbn>
</ksiazka>'));

wszystko jest ok
select * from ksiazka_xml where id=15;


pokazuje mi tylko:
<ksiazka>
<tytul>Elektronika</tytul>
<autorzy>
<autor>Augustyn Chwaleba<

Spawdzałem wyrażeniem XPath czy to tylko wina wyswietlenia selecta ale jedynym podżędnym węzłem jest własnie autor "Augusyn Chwaleba"
proszę o pomoc
Pozdrawiam

Ten post edytował fredipop 14.11.2007, 22:52:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
vespucci
post 18.11.2007, 16:47:07
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 8.11.2007

Ostrzeżenie: (0%)
-----


Może to wina budowy bazy danych?
Może troche ją zmodyfikuj i zobacz czy zadziała.
<autorzy>
<autor1></autor1>
<autor2></autor2>
<autor3></autor3>
</autorzy>
Brałeś pod uwagę taką możliwość?
Go to the top of the page
+Quote Post
fredipop
post 10.12.2007, 19:46:53
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 30.12.2006

Ostrzeżenie: (0%)
-----


Tak brałem pod uwage taką możliwość. Nie chcę modyfikować tego posta ale się pomyliłem bo jest to ewidentnie wina wyświetlania kolumny z xml'em, bo wyrażenie Xpath zwraca wyszukiwane wezły, a całego dokumentu nie moge wyświetlić:(

Sam sobie odpowiem na to banalne pytanie i napisze to gdyby kogoś tak zamroczyło jak mnie i żeby znalazł sobie odpowiedź.
Otóż jak wiadomo XMLtype jest to tak naprawdę CLOB więc
  1. SELECT ksiazka form ksiazka_xml;
nie pokaże nam tak pięknie jakby to mialo miejsce w przypadku kolumny typu np. varchar2.
Aby uzyskać żądany efekt trzeba użyć konstrukcji getStringVal(). Przykładowo
  1. SELECT f.ksiazka.getStringVal() FROM ksiazka_xml f;

pozdrawiam
fredipop

Ten post edytował fredipop 10.12.2007, 20:13:05
Go to the top of the page
+Quote Post
mosqi83
post 1.02.2008, 22:02:42
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 2
Dołączył: 20.02.2007
Skąd: Opole

Ostrzeżenie: (0%)
-----


W konsoli SQL*Plus domyślnie wyświetlanych jest maksymalnie 80 bajtów danych typu LONG, CLOB i NCLOB.
Liczbę max. wyświetlanych znaków (bajtów) możesz zmienić poprzez
  1. SET LONG n

gdzie n to liczba max. wyświetlanych znaków np. 9999.

Ten post edytował mosqi83 1.02.2008, 22:08:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:56