Вероятно не можете да направите това (поне не полезно).
Можете да конструирате цял анонимен 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;
Като цяло обаче, много преди да започнете да прибягвате до динамичен PL/SQL по време на изпълнение, наистина искате да направите крачка назад и да прецените дали няма по-лесно решение за всеки проблем, който имате. Има произволен брой рамки, например, които динамично генерират CRUD пакети за всяка от вашите таблици. Това използва динамичен PL/SQL, но го прави само веднъж като част от компилация, вместо да го прави всеки път, когато искате да актуализирате данни.