Prawdopodobnie nie możesz tego zrobić (przynajmniej nie pożytecznie).
Możesz skonstruować cały anonimowy blok PL/SQL
v_plsql := 'DECLARE ' ||
' l_row ' || p_table_name || '%rowtype; ' ||
'BEGIN ' ||
' SELECT * ' ||
' INTO l_row ' ||
' FROM ' || p_table_name ||
' WHERE id = ' || p_some_old_value || ';' ||
...
EXECUTE IMMEDIATE v_plsql;
Ogólnie rzecz biorąc, na długo zanim zaczniesz uciekać się do dynamicznego PL/SQL w czasie wykonywania, naprawdę chcesz zrobić krok wstecz i ocenić, czy nie ma łatwiejszego rozwiązania każdego problemu. Istnieje na przykład dowolna liczba frameworków, które dynamicznie generują pakiety CRUD dla każdej z Twoich tabel. To używa dynamicznego PL/SQL, ale robi to tylko raz jako część kompilacji, a nie za każdym razem, gdy chcesz zaktualizować dane.