INSERT und UPDATE einen Datensatz mit Cursorn in Oracle
Ich habe 2 tischestudent
undstudLoad
beide mit 2 FeldernstudID
undstudName
. Ich möchte Daten von ladenstudent
Tisch instuLoad
Tabelle. Wenn die Daten bereits im vorliegenstudLoad
Tabelle, dann sollte es aktualisiert werden, sonst sollte es eingefügt werden. Folgendes ist mein Code, um dies zu tun:
create or replace procedure studentLoad is
v_id student.studID%type;
v_name student.studName%type;
v_sn studLoad.studName%type;
cursor cur_load is
select * from student;
begin
open cur_load;
loop
fetch cur_load into v_id,v_name;
exit when cur_load%notfound;
select studName into v_sn from studLoad where studID = v_id;
if(v_sn!= v_name) then
update studLoad set studName= v_name where studID= v_id;
else
insert into studLoad values(v_id,v_name);
dbms_output.put_line(v_id || ' ' || v_name);
end if;
end loop;
close cur_load;
end;
Es funktioniert nicht. Die Zeilen in der StudLoad-Tabelle werden NICHT aktualisiert. Wie löse ich das? In SQL Server verwenden wirIF EXISTS(select...from stuLoad..)
Gibt es eine Möglichkeit, um zu überprüfen, ob der Datensatz in der Tabelle vorhanden ist, dasselbe in Oracle zu tun? wenn ja dann lass es mich bitte gleich wissen.