uruchamianie procedury co 2 sek

0

Witam,
jestem początkujący w temacie chciałbym aby zmodyfikować poniżą procedurę ale w taki sposób aby była uruchamiana co 2 sek. z tego względu że puszczam wydruk na drukarkę, która ma ograniczony bufor i nie chciałbym aby się zapchała. Poproszę o poprawienie.

begin
for x in (select lp.wartosc_char, st.opis from listy_wyboru_tymcz_pozycje lp left join srodki_trwale st on st.numer_inwentarzowy = lp.wartosc_char where id_listy = rep_raporty_pkg.get_id_listy_form_param ('par3'))
loop
UEX_ADM_ST.wydruk_etykiety_ST (x.wartosc_char, x.opis);
--chce aby ta procedura była wywoływana w pętli co 2 sek
end loop;
end;

0

czy to będzie dobrze:

begin
TIME_ IN NUMBER
for x in
(select lp.wartosc_char, st.opis from listy_wyboru_tymcz_pozycje lp
left join srodki_trwale st on st.numer_inwentarzowy = lp.wartosc_char where id_listy = rep_raporty_pkg.get_id_listy_form_param ('par3'))
loop
DBMS_LOCK.sleep(seconds => 2);
UEX_ADM_PCG.wydruk_etykiety_ST (x.wartosc_char, x.opis);
end loop;
end;

0

tzn ktos z forum ma poswiecic tydzien na instalacje oracla, stworzyc schemat i to przetestowac? ;)
odpal to bedziesz wiedzial (najlepiej na danych testowych :)

0

Myślałem że jak programujesz w oracle na codzień to wiesz w jaki sposób wykonać poprawny zapis w pętli aby to się wykonywało, bez sprawdzania. Tak jak z głowy można zrobić prostego selecta...

0

Koledzy programowali drukarki synchronicznie. To raczej sredni pomysl. Zwlaszcza, ze moga dziac sie dziwne sytuacje po drodze (chwilowy brak papieru, jak to obsluzyc itp).

Dobrze, aby dane do drukarki trafialy do kolejki (np. cos w stylu kolejki JMS albo na chama zaprogramowac w bazie danych). I niech drukarka sobie pobiera dane z kolejki, gdy bedzie gotowa. Bezpieczniej obslugiwac to asynchronicznie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1