Bir pl/sql bloc içinde imleci kullanarak bir sorunum var. Ben Angajati(employees)
denilen bir tablo var ve örneğin, her departament gelen tüm çalışanları göstermek gerekir: bunu yapmak çalışıyorum zamanPl/Sql imleç kullanarak, sorun yaşıyor
Dep 10:
John Smith
King Steven
Dep 20:
Henry King
William
...
i ORA-06502: PL/SQL: numeric or value error: number precision too large
gibi bir hata alınan veya benim komut şey gösterilmiyor. Bu benim kodudur:
declare
dep_min angajati.id_departament %type;
dep_max angajati.id_departament %type;
id_min angajati.id_angajat %type;
id_max angajati.id_angajat %type;
i angajati.id_angajat %type;
cursor c is select nume, prenume, id_departament, id_angajat from angajati where id_angajat=i;
r c%rowtype;
begin
select min(id_departament), max(id_departament) into dep_min, dep_max from angajati;
select min(id_angajat), max(id_angajat) into id_min, id_max from angajati;
open c;
loop
dbms_output.put_line('...');
dbms_output.put_line('Departamentul ' || dep_min);
for i in id_min..id_max
loop
fetch c into r;
if(r.id_departament=dep_min) then
dbms_output.put_line(r.nume || ' ' || r.prenume);
else null;
end if;
exit when id_min>id_max;
end loop;
dep_min:=dep_min+10;
end loop;
close c;
end;
/
Tablo 'angajati (çalışanlar) için şemasını göster –