summaryrefslogtreecommitdiffstats
path: root/Bachelor/Datenbanken 2/Praktikum4/esql2.sql
blob: f821d5e4d25493b6ff9735a84df779348898290f (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 ohne explizites declare

create or replace procedure neugehalt
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 * 1.03
                where current of c;
    else update angestellter set gehalt = gehalt * 1.02
                where current of c;
    end if;
    fetch c into v_gehalt;
   end loop;

end;
/