[Oracle 9i] bulc collect i pole typu date
Mikolaj Szkudlarz - 01-12-2005 20:33
[Oracle 9i] bulc collect i pole typu date
Witam
Ponizej kawalek bloku :
as type rec1 is record (last_day date); type rec_nr1 is table of rec1 index by binary_integer; test1 rec_nr1;
type rec2 is table of date index by binary_integer; test2 rec_nr2;
begin select last_day bulk collect into test2 from tabela;
select last_day bulk collect into test1 from tabela; end;
Pytanie moje brzmi : dlaczego wywala mi blad ORA-03113: koniec pliku w kanale komunikacyjnym dla test1, czyli w przyadku gdy mam typ rekordowy ?? Dzieje sie to tylko gdy znajduje sie wartosc typu date.
==================== Mikołaj Szkudlarz
Morff - 01-12-2005 20:33
Dnia 29-11-2005 o 13:15:41 Mikolaj Szkudlarz <mikolaj@NO_SPAM.tenbit.pl> napisał:
> Witam > > Ponizej kawalek bloku : > > as > type rec1 is record > (last_day date); > type rec_nr1 is table of rec1 index by binary_integer; > test1 rec_nr1; > > type rec2 is table of date index by binary_integer; > test2 rec_nr2; > > begin > select last_day > bulk collect into test2 > from tabela; > > select last_day > bulk collect into test1 > from tabela; > end; > > Pytanie moje brzmi : dlaczego wywala mi blad ORA-03113: koniec pliku w > kanale komunikacyjnym dla test1, czyli w przyadku gdy mam typ rekordowy > ?? > Dzieje sie to tylko gdy znajduje sie wartosc typu date.
a czy to czasami nie jest tak ze bulk collect działa tylko na tabeli zagnieżdzonej ? (na tabeli indeksowanej to chyba nie działa)
proponuje zajrzeć na http://www.psoug.org/library.html , W Morgan's library jest przykład na bulk collection dla tabeli indeksowanej - mozna przez dbms_sql ..
-- Pozdrawiam Morff ---------------------- AQQ 141151
Mikolaj Szkudlarz - 01-12-2005 20:33
> a czy to czasami nie jest tak ze bulk collect działa tylko na tabeli > zagnieżdzonej ? (na tabeli indeksowanej to chyba nie działa) > > proponuje zajrzeć na http://www.psoug.org/library.html , W Morgan's > library jest przykład na bulk collection dla tabeli indeksowanej - mozna > przez dbms_sql ..
Wlasciwie to dziala z wszystkimi typami pol innymi niz 'date'. Oczywiscie mozna to ominac, chialem sie tylko dowiedziec czy to jakas przypadlosc Oracle czy cos jest u mnie nie tak.
==================== Pozdrawiam Mikołaj Szkudlarz
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 01-12-2005 20:33
Dnia Tue, 29 Nov 2005 20:20:46 +0100, "Mikolaj Szkudlarz" <mikolaj@NO_SPAM.tenbit.pl> wklepał(-a):
>Wlasciwie to dziala z wszystkimi typami pol innymi niz 'date'. >Oczywiscie mozna to ominac, chialem sie tylko dowiedziec czy to jakas >przypadlosc Oracle czy cos jest u mnie nie tak.
SQL> declare type rec1 is record (last_day date); type rec_nr1 is table of rec1 index by binary_integer; test1 rec_nr1; type rec_nr2 is table of date index by binary_integer; test2 rec_nr2; begin select hiredate bulk collect into test2 from emp; select hiredate bulk collect into test1 from emp; end; /
Procedura PL/SQL została zakończona pomyślnie.
Działa bez problemów. Gdy wrzucę to do procedury - również.
Oracle9i Release 9.2.0.1.0 - Production JServer Release 9.2.0.1.0 - Production
1. Jaką dokładnie masz wersję bazy? 2. Testowałeś tą procedurę w SQL*Plus? 3. Pokaż schemat tej tabeli i przykładowe rekordy. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
Morff - 01-12-2005 20:33
Dnia 29-11-2005 o 22:17:14 Sławomir Szyszło <slaszysz@poczta.onet.pl> napisał:
> SQL> > declare > type rec1 is record > (last_day date); > type rec_nr1 is table of rec1 index by binary_integer; > test1 rec_nr1; > type rec_nr2 is table of date index by binary_integer; > test2 rec_nr2; > begin > select hiredate > bulk collect into test2 > from emp; > select hiredate > bulk collect into test1 > from emp; > end; > / > > Procedura PL/SQL została zakończona pomyślnie. > > Działa bez problemów. Gdy wrzucę to do procedury - również. > > Oracle9i Release 9.2.0.1.0 - Production > JServer Release 9.2.0.1.0 - Production > > 1. Jaką dokładnie masz wersję bazy? > 2. Testowałeś tą procedurę w SQL*Plus? > 3. Pokaż schemat tej tabeli i przykładowe rekordy.
a czym jest hiredate w tym przykładzie ?
-- Pozdrawiam Morff ---------------------- AQQ 141151
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 01-12-2005 20:33
Dnia Tue, 29 Nov 2005 22:46:41 +0100, Morff <morff1@wp.pl> wklepał(-a):
>a czym jest hiredate w tym przykładzie ?
Pole typu date (schemat scott, tabela emp). -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
Morff - 01-12-2005 20:34
Dnia 29-11-2005 o 23:05:33 Sławomir Szyszło <slaszysz@poczta.onet.pl> napisał:
> Dnia Tue, 29 Nov 2005 22:46:41 +0100, Morff <morff1@wp.pl> wklepał(-a): > >> a czym jest hiredate w tym przykładzie ? > > Pole typu date (schemat scott, tabela emp).
no to tylko trzeba sie dowiedzieć co to za pole last_day z selekta Mikołaja .
a tak przy okazji odnalazłem w materiałach :
Collections of records cannot be a target of a BULK COLLECT INTO clause. However, Oracle does support retrieving a set of typed objects and âśbulk collectingâ them into a collection of objects. The BULK COLLECT INTO clause can be used in SELECT INTO, FETCH INTO, or RETURNING INTO statements.
moze pomoże ..
-- Pozdrawiam Morff ---------------------- AQQ 141151 Powered by Opera/M2
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
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.pldoc.pisz.plpdf.pisz.platanvarne633.opx.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 |
|