ďťż
 
Oracle - tekstowa funkcja agregujaca? ďťż
 
Oracle - tekstowa funkcja agregujaca?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Oracle - tekstowa funkcja agregujaca?



PawelS - 13-11-2006 00:14
Oracle - tekstowa funkcja agregujaca?
  Hej,

pracuje na oracle 8.0 . czy istnieje jakis w miare prosty sposób
zeby za pomoca kwerki z wierszy:

pole
------
AAA
ABA
ACC
AWE
FSD
0CVC
NBVV

otrzymac 1 wierszyk:
AAAABAACCAWEFSD0CVCNBVV

?

pozdrawiam,
Pawel





Michał Kuratczyk - 13-11-2006 00:14

  PawelS wrote:
> pracuje na oracle 8.0 . czy istnieje jakis w miare prosty sposób
> zeby za pomoca kwerki z wierszy:
>
> pole
> ------
> AAA
> ABA
> ACC
> AWE
> FSD
> 0CVC
> NBVV
>
> otrzymac 1 wierszyk:
> AAAABAACCAWEFSD0CVCNBVV
http://asktom.oracle.com/pls/ask/f?p...:2196162600402

PS A może by tak upgrade bazy do jakiejś wersji z tego tysiąclecia? :->
--
Michał Kuratczyk




Marcin 'goral' Goralski - 13-11-2006 00:14

  Michał Kuratczyk wrote:

> PS A może by tak upgrade bazy do jakiejś wersji z tego tysiąclecia? :->

Mysle, ze ironia nie trafiona. Po pierwsze, czesto to nie personel IT
decyduje co, gdzie i kiedy upgrejdowac. Po drugie, upgrade moze nie
miec sensu przy nakladach na testowanie danego systemu opartego o
konkretna wersje BD po migracji, plus koniecznosc budowy systemu
referencyjnego, procedur typu emergency itd itp.

Dla przykladu - w mojej firmie na produkcji chodzi 8i, oraz wejdzie 9i,
moze w 2007. Oprocz typowych systemow, z polki, typu ERP mamy tez
wlasne, pisane na zamowienie - sam fakt, ze gdzie moze nastapic
niezgodnosc, wyklucza w _mojej_ firmie mozliwosc upgrejdu, dopoki
dostawca nie zagwarantuje, ze nie bedzie problemu z upgradem. A i tak
musi byc rownolegly system referencyjny.

marcin




PawelS - 13-11-2006 00:14

 
Michał Kuratczyk napisał(a):

(..)

niestety to jest raczej nie możliwe.. ;( ;(





Michał Kuratczyk - 13-11-2006 00:14

  PawelS wrote:
> niestety to jest raczej nie możliwe.. ;( ;(
Ale co jest niemożliwe - zastosowanie podanego rozwiązania (jeśli tak,
to czemu), czy odnosisz się do mojej uwagi na boku?

--
Michał Kuratczyk




Michał Kuratczyk - 13-11-2006 00:14

  Marcin 'goral' Goralski wrote:
>> PS A może by tak upgrade bazy do jakiejś wersji z tego tysiąclecia? :->
> Mysle, ze ironia nie trafiona.
Uwaga odnosiła się przede wszystkim do tego, że w nowszych wersjach
rozwiązanie tego problemu (jak i wielu innych) byłoby łatwiejsze.
Co nie zmienia faktu, że podałem odnośnik do rozwiązania, które powinno
działać na tej starej bazie.

> Po pierwsze, czesto to nie personel IT decyduje co, gdzie i kiedy
> upgrejdowac. Po drugie, upgrade moze nie miec sensu przy nakladach na
> testowanie danego systemu opartego o konkretna wersje BD po migracji, plus
> koniecznosc budowy systemu referencyjnego, procedur typu emergency itd
Ja sobie zdaję sprawę, że tego typu upgradów nie robi się przez
samo "rpm -U". :-) Ale nie zmienia to faktu, że ja bym stawał na głowie,
żeby doprowadzić do (odpowiednio wcześniej przygotowanej) aktualizacji.
I to im ważniejszy system - tym bardziej. Do wersji 8.0 nie ma już supportu
(ewentualnie szczątkowy za dodatkową kasę), mogą być problemy
z bezpieczeństwem, itd. Uwaga była na boku i nie ma raczej co nad nią
dyskutować.

--
Michał Kuratczyk




PawelS - 13-11-2006 00:14

 
Michał Kuratczyk napisał(a):
> PawelS wrote:
(..)

niemożliwa jest upgrade oracle'a . jestem użytkownikiem hurtowni
danych a nie DBA'em :-)




PawelS - 13-11-2006 00:14

 
Michał Kuratczyk napisał(a):

> http://asktom.oracle.com/pls/ask/f?p...:2196162600402
(..)

co do tego linku to udało mi się uruchomić część sql'a (na 8.0)
ale

member function ODCIAggregateIterate(self IN OUT string_agg_type,
value IN varchar2 )
return number
is
begin
self.total := self.total || ',' || value;
return ODCIConst.Success;
end;

nie chce wogóle działać :(

pozdr,
p.




Michał Kuratczyk - 13-11-2006 00:14

  PawelS wrote:
> co do tego linku to udało mi się uruchomić część sql'a (na 8.0)
> ale
>
> member function ODCIAggregateIterate(self IN OUT string_agg_type,
> value IN varchar2 )
> return number
> is
> begin
> self.total := self.total || ',' || value;
> return ODCIConst.Success;
> end;
>
> nie chce wogóle działać :(
Dyć stoi, że to jest dla 9i. Dla 8i jest wskazanie tu:
http://asktom.oracle.com/pls/ask/f?p...D:229614022562
Nie wiem czy na 8.0 pójdzie, ale myślę, że powinno.

--
Michał Kuratczyk




PawelS - 13-11-2006 00:15

 
Michał Kuratczyk napisał(a):
> PawelS wrote:
> > co do tego linku to udało mi się uruchomić część sql'a (na 8.0)
> > ale
(..)

pomogła ta funkcyjka.. dzięki wielkie :-)
create or replace function transpose( p_key_name in varchar2,
p_key_val in varchar2,
p_other_col_name in varchar2,
p_tname in varchar2 )
return varchar2
as
type rc is ref cursor;
l_str varchar2(4000);
l_sep varchar2(1);
l_val varchar2(4000);

l_cur rc;
begin

open l_cur for 'select '||p_other_col_name||'
from '|| p_tname || '
where ' || p_key_name || ' = :x '
using p_key_val;

loop
fetch l_cur into l_val;
exit when l_cur%notfound;
l_str := l_str || l_sep || l_val;
l_sep := '-';
end loop;
close l_cur;

return l_str;
end;
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lisinski.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com