CruellaDeVille Skrevet 29. januar 2007 Del Skrevet 29. januar 2007 Jeg skal sette inn en annen_ansatt, som er subtype fra ansatt. Ansatt er not instantiable not final, annen_ansatt har ingen tilleggsattributter. Men jeg klarer ikke finne ut hvordan jeg skal sette inn i en subtype, oracle klager og sier at argumentene gitt tilhører en ansatt, mens den forventer en annen_ansatt. koden min: create or replace procedure sett_inn_andre( a_fornavn varchar2, a_etternavn varchar2, a_gateadresse varchar2, a_postnummer number, a_poststed varchar2, a_telefon number, a_epost varchar2, a_ansettelsesdato date, a_bruttolønn integer, a_skatteprosent integer, a_sykehusnavn varchar2, a_stillingstype varchar2) is begin insert into ansatte_tbl values( ansatt_tp( seq_ansattnummer.nextval, navn_tp( -- navnetype a_fornavn, null, a_etternavn ), adresse_tp( -- adressetype a_gateadresse, a_postnummer, a_poststed ), a_telefon, -- telefon nt_epost_tp( -- nøstet epost epost_tp(a_epost) ), a_ansettelsesdato, -- ansettelsesdato a_bruttolønn, --bruttolønn a_skatteprosent, -- skatteprosent null, -- cv (select ref(A) from sykehus_tbl A where navn = 'a_sykehusnavn'), -- arbeidsplass a_stillingstype -- stillingstype ) ); commit; dbms_output.put_line('Ansatt er langt til'); end; her har jeg lagt til stillingstype som attributt på annen ansatt (hvis ikke vil det være meningsløst å si at den skal være disjunkt og total, hvis annen_ansatt ikke er annet enn en ansatt i forkledning).. Men altså - klager over feil type, ergo er innsettingen min feil. Noen som ser hvor det går galt? Lenke til kommentar
Asterisk Skrevet 30. januar 2007 Del Skrevet 30. januar 2007 Hei, prosedyren ser rett ut den, men om du skal sette inn i annen_ansatt, heter denne ansatt_tp? insert into ansatte_tbl values(ansatt_tp( [...] Regner med at du skal kalle på parametret a_sykehusnavn, men om jeg husker riktig skal vel ikke parametre være omsluttet av fnutter ? (select ref(A) from sykehus_tbl A where navn = 'a_sykehusnavn') Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå