Hallo.
Ich bin schon seit zwei Tagen auf der Suche nach dem Fehler und kann mir nicht so recht helfen:
Folgendes Problem: Ich habe die procedure punkte geschrieben und erzeuge einen cursor der alle objectid aufnimmt deren dimension <= 100 ist.
anschließend soll der cursor durch eine forschleife laufen
und für jeden datensatz mit der aktuellen cursor objectid einen wert aus der tabelle rb_rw_kriterium_dim holen und ueber update einfügen.
beim starten der procedure kommt es dazu, dass Oracle sql developer abschmiert ohne überhaupt eine fehlermeldung.
Kann mir evtl. jemand helfen...ein insert auf die tabelle lässt sich problemlos durchführen, warum klappt es bei update nicht...
create or replace
PROCEDURE PUNKTE IS
CURSOR cur_dat
IS
SELECT objectid
FROM CPOG_WAS_ABSCHNITT_L
WHERE dimendion <= '100';
BEGIN
FOR akt_dat IN cur_dat
LOOP
UPDATE rb_bw_bewertung SET
punkte = (
SELECT wert
FROM rb_rw_kriterium_dim
WHERE bedingung = '<= 100'
)
WHERE
objectid = akt_dat.objectid;
END LOOP;
END PUNKTE;
Ich bin schon seit zwei Tagen auf der Suche nach dem Fehler und kann mir nicht so recht helfen:
Folgendes Problem: Ich habe die procedure punkte geschrieben und erzeuge einen cursor der alle objectid aufnimmt deren dimension <= 100 ist.
anschließend soll der cursor durch eine forschleife laufen
und für jeden datensatz mit der aktuellen cursor objectid einen wert aus der tabelle rb_rw_kriterium_dim holen und ueber update einfügen.
beim starten der procedure kommt es dazu, dass Oracle sql developer abschmiert ohne überhaupt eine fehlermeldung.
Kann mir evtl. jemand helfen...ein insert auf die tabelle lässt sich problemlos durchführen, warum klappt es bei update nicht...
create or replace
PROCEDURE PUNKTE IS
CURSOR cur_dat
IS
SELECT objectid
FROM CPOG_WAS_ABSCHNITT_L
WHERE dimendion <= '100';
BEGIN
FOR akt_dat IN cur_dat
LOOP
UPDATE rb_bw_bewertung SET
punkte = (
SELECT wert
FROM rb_rw_kriterium_dim
WHERE bedingung = '<= 100'
)
WHERE
objectid = akt_dat.objectid;
END LOOP;
END PUNKTE;
Comment