Pravděpodobně to nemůžete udělat (alespoň ne užitečně).
Můžete vytvořit celý anonymní 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;
Obecně však platí, že dlouho předtím, než se za běhu začnete uchylovat k dynamickému PL/SQL, opravdu chcete udělat krok zpět a posoudit, zda neexistuje jednodušší řešení jakéhokoli problému, který máte. Existuje například libovolný počet frameworků, které dynamicky generují balíčky CRUD pro každou z vašich tabulek. Používá dynamické PL/SQL, ale dělá to pouze jednou jako součást sestavení, nikoli pokaždé, když chcete aktualizovat data.