Заполнение данных на основе столбцов в другой таблице

это относится к моему предыдущему вопросу. Теперь я хочу сделать то же самое, но приведу в 3 столбца из моей исходной таблицы. Имя, значение и ATY. На основе значений исходной таблицы должны быть заполнены правильные столбцы в таблице адресатов. Таким образом, это будет означать, что в отличие от моего предыдущего вопроса я не хочу жестко кодировать столбцы, потому что, может быть, ситуация изменится в структуре таблицы, или я использую тот же код в другой таблице, что структура отличается.

Моя исходная таблица выглядит так:

CREATE TABLE your_source ( name VARCHAR2(50), value VARCHAR2(50), ATY VARCHAR2(50) ); INSERT INTO your_source SELECT 'a+b+c+d', 'x2+x1+x3+x5','m1' FROM DUAL UNION ALL SELECT 'a+d+c', 'y7+y3+y4','m3' FROM DUAL; CREATE TABLE your_destination ( name VARCHAR2(50), value VARCHAR2(50), ATY VARCHAR2(50), A VARCHAR2(20), B VARCHAR2(20), C VARCHAR2(20), D VARCHAR2(20) ); 

Структура таблицы назначения может измениться, поэтому может быть больше столбцов или меньше столбцов, поэтому они не могут быть жестко закодированы. Кроме того, поле имени из исходной таблицы может содержать более 4 полей и, возможно, что-то вроде «A + B + C + X + H» .. поэтому в этом случае только значения для A, B, C будут заполнены, как H & X do не существует, но если бы существовал экземпляр, где существовал H & X, они будут заполнены. надеюсь, это имеет смысл.

Вывод:

 SELECT * FROM your_destination name value ATY ABCD a+b+c+d x2+x1+x3+x5 m1 x2 x1 x3 x5 a+d+c' y7+y3+y4 m3 y7 0 y4 y3