PL/SQL - erstellen einer bedingten cursor?
Brauche ich ein bedingte cursor, wie:
- Wenn eine Zeile vorhanden ist (mit WENN VORHANDEN oder sowas in der Art), dann ist mein cursor ist:
- CURSOR varCursor IST SELECT 1 FROM DUAL;
- Anderes
- CURSOR varCursor IST, WÄHLEN Sie 2 ein, AUS DUAL;
Aber schauen Sie, ich will nicht zu ändern, eine Spalte Ergebnis, ich ändern möchten die gesamte cursor.
Balg legte ich ein größeres Beispiel.
Dank!
Finden Sie unter:
SET serveroutput ON SIZE 900000;
DECLARE
CURSOR varCursor IS SELECT 1 a FROM DUAL;
-- CURSOR varCursor IS SELECT 2 a FROM DUAL;
BEGIN
FOR varRow IN varCursor LOOP
dbms_output.put_line('row: ' || varRow.a);
END LOOP;
dbms_output.put_line('Done.');
END;
Du musst angemeldet sein, um einen Kommentar abzugeben.
abgesehen von der Umsetzung in einer Abfrage (als Tony empfiehlt), da Sie möchten, eine cursor-Ergebnis können Sie tun es als solche (dies schaltet den cursor zu der Logik, die Sie brauchen --> eine cursor-Lösung)
Wörtlich, Sie könnten dies tun:
Jedoch, es wäre einfacher und vielleicht auch effektiver, wenn 2 Cursor, und öffnen Sie je nachdem, was angemessen ist.