Sie können dies wahrscheinlich nicht tun (zumindest nicht sinnvoll).
Sie könnten einen ganzen anonymen PL/SQL-Block erstellen
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;
Im Allgemeinen sollten Sie jedoch, lange bevor Sie zur Laufzeit auf dynamisches PL/SQL zurückgreifen, wirklich einen Schritt zurücktreten und prüfen, ob es nicht eine einfachere Lösung für Ihr Problem gibt. Es gibt beispielsweise eine beliebige Anzahl von Frameworks, die CRUD-Pakete für jede Ihrer Tabellen dynamisch generieren. Dabei wird dynamisches PL/SQL verwendet, aber nur einmal als Teil eines Builds und nicht jedes Mal, wenn Sie Daten aktualisieren möchten.