SQLcl zwracanie danych wiersz po wierszu

0

Załóżmy że mamy funkcję strumieniową (pipelined) https://oracle-base.com/articles/misc/pipelined-table-functions#pipelined_table_functions która zwraca dane nie w postaci pakietu na raz, lecz wiersz po wierszu. W narzędziu SQL*Plus taki efekt można zaobserwować, gdy uprzednio zastosuje się polecenie SET ARRAYSIZE 1;. Faktycznie, wtedy wiersze są zwracane jeden po drugim, co jest szczególnie dobrze widoczne gdy w pętli LOOP da się komendę opóźniającą wykonanie kodu. Chciałem to samo uzyskać w programie SQLcl, ale o ile polecenie SET ARRAYSIZE 1; można wykonać, to i tak nie zdaje egzaminu. W konsoli dane są wyświetlane od razu (zrzucane z pamięci w postaci "pakietu"), a nie powoli wyświetlane wiersz po wierszu, w trakcie ich generowania przez funkcję. Czy ktoś z Was wie jak ten efekt uzyskać w SQLcl ?

0

[big OT] ale po co??? Chyba nie chcesz powiedzieć, że próbujesz zrobić w tym jakąś prezentację jak to działa czy coś w ten deseń... [/big OT]

BTW SET ARRAYSIZE to "polecenie SQL*Plusa więc nie ma zastosowania do innych narzędzi

0

Uczę się PL/SQL. Nie myślałem o prezentacji, ale czemu nie? Sposób jest dobry. Nie widzę w nim nic złego. SQLcl jest oparty na SQL*Plus-ie, i dlatego polecenie SET ARRAYSIZE działa także i w nim. Ale nie powoduje takiego efektu jak w SQL*Plus.

0

jeśli się uczysz to porzuć tekstowe konsole bo się zniechęcisz tylko. Do nauki idealny jest SQLTools - darmowy, prosty, bez graficznych wizardów za to szybki, lekki i zrobisz w nim dokładnie to co w sqlplusie ale przyjemniej

0

Koniec końców okazało się, że programiści SQLcl napisali ten program tak, że on bez względu na wszelkie sztuczki, i tak buforuje wyniki, dlatego nie ma siły aby zmusić go do zwracania danych wiersz po wierszu.

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