hallo mag ich die Daten an Brocken auf der Basis von Zeilen num aber im Versagen, wenn imAktualisierung auf der Basis von Zeilen num
declare
temp varchar2(50);
low varchar2(50);
upp varchar2(50);
begin
low :=0;
for i in (SELECT
TO_CHAR(FLOOR(rownum/10) * 10) as low, TO_CHAR(FLOOR(rownum/10) * 10 + 10 -1) AS upp
FROM emp
GROUP BY FLOOR(rownum/10)
ORDER BY FLOOR(rownum/10))
loop
update emp set thd=2 where rownum>i.low and rownum<i.upp;
commit;
low:=low+1;
dbms_output.put_line(i.low|| i.upp);
end loop;
end;
der Code aktualisiert die ersten 10 rec richtig zu aktualisieren versuchen, aber nicht aktualisieren die nächsten Zyklen 20-30 30-40
jedes erraten, warum
Ist 'rownum' eine Spalte in Ihrer Tabelle' emp'? – FDavidov
@FDavidov no its a psedo Spalte – fawad
Ich weiß, dass Sie in PL/SQL ** die Zeilennummer in einer Auswahl erhalten können, was die _row-Nummer des Ergebnisses bedeutet. Ich bin nicht sicher, was die Bedeutung wäre, diese Zahl für ein Update zu verwenden (Raten, ich würde sagen ** keine **). – FDavidov