summaryrefslogtreecommitdiffstats
path: root/Bachelor/Datenbanken 2/Praktikum4/esql3.sql
blob: bd2d1aac4b4422e3fee3f966ba554be42f99e111 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- als stored procedure mit Parameteruebergabe

create or replace procedure neugehalt(proz1 number, proz2 number)
as
   cursor c is select gehalt 
               from   angestellter
          for update of gehalt;

   v_gehalt angestellter.gehalt%type;

-- Ausf�hrungsblock
begin
   -- Cursor �ffnen
   open c;

   -- erste Zeile lesen
   fetch c into v_gehalt;

   -- alle Zeilen der Ergebnistabelle lesen
   while c%found loop
    if   v_gehalt > 10000
    then update angestellter set gehalt = gehalt * proz1
                where current of c;
    else update angestellter set gehalt = gehalt * proz2
                where current of c;
    end if;
    fetch c into v_gehalt;
   end loop;

end;
/