Вы можете использовать динамический SQL, если вы находитесь в среде PL / SQL.
Создайте строку SQL как VARCHAR2 перед ее выполнением.
DECLARE
v_sql VARCHAR2(4001);
v_column VARCHAR2(30) := 'whatever';
v_sql_result VARCHAR2(4001);
BEGIN
v_sql := 'SELECT '||v_column||' FROM table_a';
EXECUTE IMMEDIATE v_sql
INTO v_sql_result;
EXCEPTION
WHEN ...
THEN
...
END;
Это выберет содержимое столбца «что угодно» в v_sql_result.
Конечно, я пропустил предложение WHERE, чтобы гарантировать, что для этого примера была возвращена только одна строка, но вы можете добавить это самостоятельно или посмотреть, как EXECUTE IMMEDIATE работает в Oracle.