He mensen,
Ik ben bezig met een pl/sql opdracht, maar ik kom er maar niet uit.
Ik heb een tabel met auto merken en diens prijzen. Nu wil ik de prijzen van de opels en bmw's met 10% verhogen en de mercedes met 20%. De prijzen van de rest van de merken laat ik ongewijzigd. Alles moet gedisplayed worden in mijn hulptabel. Dit alles wil ik met for-loop met cursor doen.
Onderstaande heb ik al, maar mijn vraag is:
1. hoe geef ik aan?.....de rest van de automerken krijgt geen verhoging, maar
display deze wel in mijn hulptabel
2. kunnen de opel en bmw niet bij elkaar in 1 for-loop, omdat ze toch allebei 10%
verhoogd worden.
declare
cursor c_autos(b_merk varchar2) is
select merk,
prijs
from autos
where merk = b_merk;
v_newprijs number;
begin
v_newprijs := 0;
for r_autos in c_autos('opel') loop
v_newprijs := r_autos.prijs * 1.10;
insert into testhulptabel
values(r_autos.prijs,
v_newprijs,
r_autos.merk
);
end loop;
for r_autos in c_autos('bmw') loop
v_newprijs := r_autos.prijs * 1.10;
insert into testhulptabel
values(r_autos.prijs,
v_newprijs,
r_autos.merk
);
end loop;
for r_autos in c_autos('mercedes') loop
v_newprijs := r_autos.prijs * 1.20;
insert into testhulptabel
values(r_autos.prijs,
v_newprijs,
r_autos.merk
);
end loop;
end;
/
Alvast hartelijk dank,
Ik ben bezig met een pl/sql opdracht, maar ik kom er maar niet uit.
Ik heb een tabel met auto merken en diens prijzen. Nu wil ik de prijzen van de opels en bmw's met 10% verhogen en de mercedes met 20%. De prijzen van de rest van de merken laat ik ongewijzigd. Alles moet gedisplayed worden in mijn hulptabel. Dit alles wil ik met for-loop met cursor doen.
Onderstaande heb ik al, maar mijn vraag is:
1. hoe geef ik aan?.....de rest van de automerken krijgt geen verhoging, maar
display deze wel in mijn hulptabel
2. kunnen de opel en bmw niet bij elkaar in 1 for-loop, omdat ze toch allebei 10%
verhoogd worden.
declare
cursor c_autos(b_merk varchar2) is
select merk,
prijs
from autos
where merk = b_merk;
v_newprijs number;
begin
v_newprijs := 0;
for r_autos in c_autos('opel') loop
v_newprijs := r_autos.prijs * 1.10;
insert into testhulptabel
values(r_autos.prijs,
v_newprijs,
r_autos.merk
);
end loop;
for r_autos in c_autos('bmw') loop
v_newprijs := r_autos.prijs * 1.10;
insert into testhulptabel
values(r_autos.prijs,
v_newprijs,
r_autos.merk
);
end loop;
for r_autos in c_autos('mercedes') loop
v_newprijs := r_autos.prijs * 1.20;
insert into testhulptabel
values(r_autos.prijs,
v_newprijs,
r_autos.merk
);
end loop;
end;
/
Alvast hartelijk dank,