Sie können die Anzahl der Abfragen nicht reduzieren – sie alle machen unterschiedliche Dinge – aber Sie könnten die Anzahl der Roundtrips zur Datenbank und die Anzahl der Parses reduzieren, indem Sie alles in eine PLSQL-Funktion packen.
Sie können die Daten jedoch nicht auswählen, nachdem Sie sie gelöscht haben.....aber bedenken Sie:
CREATE PROCEDURE s_u_d(a)
BEGIN
UPDATE tab_x SET tab_x.avalue=1 WHERE tab_x.another=a;
DELETE FROM tab_y WHERE tab_y.avalue=a;
SELECT *
FROM tab_x
WHERE tab_x.another=a;
END;
NB - Sie können auch mehrere Auswahlen im selben Verfahren ausführen und mehrere unterschiedlich geformte Ergebnismengen verarbeiten, z. siehe diese Seite