Nie bardzo rozumiem pytanie.
Jak podasz w funkcji update_tabela('Jan", "Kowalski") to jako wynik dostaniesz wszystkie rekordy które będą zawierać pole imię: "Jan" i nazwisko: "Kowalski".
Dla przykładu:
- Jan Kowalski
- Jan Kowalski
- Jan Kowalski
Jak w SQL'u dasz zamiast "AND", "OR" to w wyniku dostaniesz rekordy które zawierają zarówno imie: "Jan" lub nazwisko: "Kowalski".
Dla przykładu:
- Jan Kowalski
- Jan Iksiński
- Tomek Kowalski
PS.
Funkcje nazwałeś update_tabela() a w SQL'u nie masz: "select for update"?