Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: DBMS_OUTPUT wewnątrz member function
Forum PHP.pl > Forum > Bazy danych > Oracle
darop
cześć
jak w temacie jak zmusić Oracle żeby wypisywał wyniki operacji w czasie trwania procedury/funkcji a nie po jej zakończeniu, przy pomocy DBMS_OUTPUT.PUT_LINE(...)?ustawiam oczywiście SET SERVEROUTPUT ON ale niestety oracle nie chce się zabrać do pisania do okna konsoli, dopiero kiedy wywołam jakąś procedure wbudowaną, to drukując umieszczone w niej koumunikaty wypisze też komunikaty wcześniej umieszczone w buforze

napisałem funkcje MEMBER FUNCTION WYPISZ_GATUNKI dla typu FILM_TYP, który zawiera zagnieżdżoną kolekcje GATUNEK GATUNEK_VTYP(kolekcja referencji), której wartości wypisuje funkcja wypisz_gatunki
Kod
CREATE OR REPLACE TYPE GATUNEK_VTYP AS VARRAY(5) OF REF GATUNEK_TYP;

CREATE OR REPLACE TYPE FILM_TYP AS OBJECT(NUMER_BAZOWY NUMBER(4),
        FILM_PODST FILM_PODST_TYP,
        SCENOGRAFIA VARCHAR2(50),
        NOSNIK REF NOSNIK_TYP,
        FORMAT_DZWIEKU REF FORMAT_DZWIEKU_TYP,
        GATUNEK GATUNEK_VTYP,
        MEMBER FUNCTION WYPISZ_GATUNKI RETURN NUMBER
);

CREATE OR REPLACE TYPE BODY FILM_TYP AS
    MEMBER FUNCTION WYPISZ_GATUNKI RETURN NUMBER IS
    I INTEGER;
    ILE INTEGER;
    WIERSZ REF GATUNEK_TYP;
    REFERENCJA GATUNEK_TYP;
    BEGIN
  ILE:=SELF.GATUNEK.COUNT;
  FOR I IN 1..SELF.GATUNEK.COUNT LOOP
      WIERSZ:=SELF.GATUNEK(I);
      SELECT DEREF(WIERSZ) INTO REFERENCJA FROM DUAL;
      DBMS_OUTPUT.PUT_LINE(REFERENCJA.NAZWA_GATUNKU);
      END LOOP;
    RETURN ILE;
    END;
END;
/
CREATE TABLE FILMY_OBJ_TAB OF FILM_TYP;

wypisuje to co trzeba ale nie wtedy co trzeba, wie ktoś może gdzie jest problem?
em1X
Wiesz co, nie pamietam dokladnie, ale po ustawieniu server_output trzeba bylo ją zatwierdzic wpisując commit. Powiedz czy zadzialalo, a jezeli nie odezwij sie do mnie na majla, a spytam sie co bardziej obeznanych znajomych.
darop
nie nie zadziałało, generalnie nie jest mi już to potrzebne ale gdyby ktoś znał odpowiedź będe wdzięczny może się przydać na przyszłość
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.