Problem med type (pl/sql)
Hej,Jeg sidder og leger lidt med typer hvor jeg har fået denne pæne fejl. Umiddelbart tyder det på, at jeg har en dublet eller lignende, men efter at have skimtet min kode synes det ikke umiddelbart at være tilfældet. Det har ikke hjulpet synderligt at google på fejlkoden.
ORA-06550: line 7, column 14:
PLS-00307: too many declarations of 'T_MOVIE' match this call
ORA-06550: line 7, column 3:
PL/SQL: Statement ignored
Her er headeren:
CREATE OR REPLACE TYPE t_movie AS OBJECT
(
v_t_mov_title VARCHAR2(64),
CONSTRUCTOR FUNCTION t_movie(mov_title IN VARCHAR2) RETURN SELF AS RESULT,
MEMBER PROCEDURE get_all_movies,
MEMBER PROCEDURE get_movie(my_title IN VARCHAR2)
)
I type body'en har jeg ikke nogen kode i de 2 procedurer endnu, de er bare tomme hylstre. Derfor smider jeg kun koden til constructoren som smider værdien af mov_title over i v_t_mov_title:
CONSTRUCTOR FUNCTION t_movie(mov_title IN VARCHAR2) RETURN SELF AS RESULT IS
BEGIN
dbms_output.put_line('Initialized with ' || mov_title);
v_t_mov_title := mov_title;
END;
Jeg implementerer min type med:
DECLARE
v_movie sys.t_movie;
BEGIN
v_m := NEW sys.t_movie('Test');
END;
Og når jeg kører det, så går den galt med den ovenstående fejlbesked.
Er der nogen af jer der har en hurtig løsning eller løsningsforslag? Jeg har fået stirret mig blind på det :)