[ORACLE} Dlaczego takk sie dzieje ?
TomaszB - 09-12-2005 19:54
[ORACLE} Dlaczego takk sie dzieje ?
Witam Napisalem procedure, "cos" wywolywana z dwoma parametrami (data_od varchar, data_do varchar) data_od jest wieksza od daty_do - raporty cofaja sie od dzis do kiedys. procedura ma petelke LOOP data_rap := to_date(data_od,'DD-MM-YYYY');
....jakies inserty...
exit when data_rap < to_date(data_do,'DD-MM-YYYY'); data_rap := data_rap-1; END LOOP;
Wszystko dziala, tylko wyjscie z procedury nie wystepuje. Proces po prostu znika, bez zadnego bledu itp. Dlaczego? Dzieki Pozdrawiam TomaszB
Wojtek pBT (lapt) - 09-12-2005 19:54
Dnia 2005-12-07 20:27, Użytkownik TomaszB napisał:
> Witam
cze
> exit when data_rap < to_date(data_do,'DD-MM-YYYY'); a zobacz dla `>`
> Wszystko dziala, tylko wyjscie z procedury nie wystepuje. Proces po > prostu znika, bez zadnego bledu itp. > Dlaczego? prawdopodobnie wszystkie rekordy w bazie są ponad tą datą...
A może chodzi o format daty. Nie bez powodu datę w BD formatuje się rrrr-mm-dd
pBT
=?ISO-8859-2?Q?Witek_=A6wierzy?= - 09-12-2005 19:54
Witam ! Hmmm - zastanow sie - nie ma prawa wychodzic z tej petli .... LOOP -- poczatek data_rap := to_date(data_od,'...'); -- ustawiasz data_rap exit when data_rap < ... -- nie wychodzisz z petli data_rap := data_rap - 1; -- w kontekscie calego algorytmu niepotrzebna dekrementacja :-), bo nastepnie petla od poczatku podstawia pod data_rap ... END LOOP; - no - petla nieskonczona, jak sadze - musialbys miec CRAYA, aby ja przerobic w skonczonej jednostce czasu ... ;-) o ile dobrze rozumiem .. pozdrawiam Witek Swierzy wswier@sgh.waw.pl
MarP - 09-12-2005 19:54
> LOOP > data_rap := to_date(data_od,'DD-MM-YYYY'); > > ...jakies inserty... > > exit when data_rap < to_date(data_do,'DD-MM-YYYY'); > data_rap := data_rap-1; > END LOOP; > > Wszystko dziala, tylko wyjscie z procedury nie wystepuje.
Sprobuj tak:
data_rap := to_date(data_od,'DD-MM-YYYY'); LOOP
...jakies inserty...
exit when data_rap < to_date(data_do,'DD-MM-YYYY'); data_rap := data_rap-1; END LOOP;
Pozdrowienia, MarP
TomaszB - 09-12-2005 19:54
MarP napisał(a): > data_rap := to_date(data_od,'DD-MM-YYYY'); > LOOP > > ...jakies inserty... > > exit when data_rap < to_date(data_do,'DD-MM-YYYY'); > data_rap := data_rap-1; > END LOOP;
No dokladnie tak jest, tylko ze sie wczesniej, piszac tego posta pomylilem :/ ustawienie zmiennej data_rap jest przed wejsciem procedury w petle. Pozdrawiam TomaszB
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.pllubiatowo.xlx.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 |
|