Присвойте значение полю rowtype, где `field name` - строка

Я хочу присвоить значение полю типа строки, но я не знаю, как это сделать.

Предположим, что у меня есть столX в моей базе данных.

Предположим также, что у меня есть следующие переменные

a ( X%ROWTYPE ), представляющий строку таблицы Xb ( VARCHAR2 ), содержащий имя столбца таблицы Xc ( VARCHAR2 ), содержащий то, что я хочу хранить внутри a.b

Что я хочу сделать : что-то вродеa.b := c.

Я придумал что-то вроде этого:

EXECUTE IMMEDIATE 'SELECT '|| c || ' INTO a.' || b || ' FROM DUAL';

Видимо, это не правильный путь. Я получаюORA-0095: отсутствует ключевое слово ошибка.

Кто-нибудь может мне с этим помочь ?

Вот полный код:

DECLARE
    tRow            MyTable%ROWTYPE;
    col_name        VARCHAR(10) := 'Length';
    nValue          NUMBER(12,4) := 0.001;
    dynamic_request VARCHAR(300);
BEGIN 
    dynamic_request := 'SELECT '|| nValue || ' INTO tRow.' || col_name || ' FROM DUAL';
    EXECUTE IMMEDIATE dynamic_request;
END;

Ответы на вопрос(2)

Ваш ответ на вопрос