Gå til innhold

Anbefalte innlegg

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
Videoannonse
Annonse

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 ? :hmm:

 

(select ref(A) from sykehus_tbl A where navn = 'a_sykehusnavn')
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...