Nie możesz zmniejszyć liczby zapytań — wszystkie robią różne rzeczy — ale możesz zmniejszyć liczbę podróży w obie strony do bazy danych i liczbę parsów, opakowując to wszystko jako funkcję PLSQL.
Nie możesz jednak wybrać danych po ich usunięciu… ale rozważ:
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;
Uwaga - możesz również uruchomić wiele selekcji w tej samej procedurze i obsługiwać wiele zestawów wyników o różnych kształtach, np. zobacz tę stronę