Hallo zusammen,
Cursor sind für mich Neuland und habe daher einige Startschwierigkeiten.
Ausgangssituation:
Ich habe folgende Tabelle (vereinfacht):
Auftrag Abweichung Bewertung
1///////-1//////////
1///////3//////////
1///////2//////////
2///////0//////////
2///////1//////////
2///////2//////////
2///////-1//////////
3///////1//////////
3///////3//////////
Die Spalte Bewertung is aktuell leer. Diese soll aber gefüllt werden und zwar wie folgt.
Auftrag Abweichung Bewertung
1///////-1//////////0
1///////3//////////4
1///////2//////////-1
2///////0//////////0
2///////1//////////1
2///////2//////////1
2///////-1//////////-3
3///////1//////////0
3///////3//////////2
im Prinzip ist es immer die differenz der ersten und folgenden Abweichung. Außer bei einem neuen Auftrag.
Da soll immer die 0 stehen.
folgende Grundstruktur habe ich erstellt.
CREATE OR REPLACE PROCEDURE DB.TEST
IS
cursor cur_test is
Select * TABELLE
for update;
v_Fehler number;
v_Meldung Varchar(1000);
vi_Auftrag DB.TABELLE.AUFTRAG%type;
BEGIN
for v_ds in cur_test loop
update t_t7000_plus_urs_test
set BEWERTUNG = 'TEST';
-- test
end if;
end loop;
commit;
end;
Hat jmd ein einfaches Beispiel an dem ich mich orientieren kann?
Ich bin für jegliche Unterstützung dankbar!
Cursor sind für mich Neuland und habe daher einige Startschwierigkeiten.
Ausgangssituation:
Ich habe folgende Tabelle (vereinfacht):
Auftrag Abweichung Bewertung
1///////-1//////////
1///////3//////////
1///////2//////////
2///////0//////////
2///////1//////////
2///////2//////////
2///////-1//////////
3///////1//////////
3///////3//////////
Die Spalte Bewertung is aktuell leer. Diese soll aber gefüllt werden und zwar wie folgt.
Auftrag Abweichung Bewertung
1///////-1//////////0
1///////3//////////4
1///////2//////////-1
2///////0//////////0
2///////1//////////1
2///////2//////////1
2///////-1//////////-3
3///////1//////////0
3///////3//////////2
im Prinzip ist es immer die differenz der ersten und folgenden Abweichung. Außer bei einem neuen Auftrag.
Da soll immer die 0 stehen.
folgende Grundstruktur habe ich erstellt.
CREATE OR REPLACE PROCEDURE DB.TEST
IS
cursor cur_test is
Select * TABELLE
for update;
v_Fehler number;
v_Meldung Varchar(1000);
vi_Auftrag DB.TABELLE.AUFTRAG%type;
BEGIN
for v_ds in cur_test loop
update t_t7000_plus_urs_test
set BEWERTUNG = 'TEST';
-- test
end if;
end loop;
commit;
end;
Hat jmd ein einfaches Beispiel an dem ich mich orientieren kann?
Ich bin für jegliche Unterstützung dankbar!