Insert повторяющихся значений из одной таблицы в другую

Есть 2 таблицы. В ТАБЛИЦА_1 есть колонка_1_1 и колонка_1_2. колонка_1_2 пустая. В ТАБЛИЦА_2 есть колонка_2_1 и колонка_2_2. колонка_2_2 содержит нужные значения, но иногда там могут быть null.

значения в колонка_1_1 и колонка_2_1 иногда одинаковы и для этих случаев нужно заполнить колонка_1_2 данными из колонка_2_2.

Я делаю вот так

BEGIN
    FOR data IN (SELECT колонка_2_1 FROM ТАБЛИЦА_2 WHERE колонка_2_2 IS NOT NULL)
        LOOP
            INSERT INTO ТАБЛИЦА_1
            VALUES (,.другие поля.,    
                    (SELECT колонка_2_2 
                     FROM ТАБЛИЦА_2 
                     WHERE ТАБЛИЦА_1.колонка_1_1 = data.колонка_2_1),
);
        END LOOP;
END;

мне выбрасывает single-row subquery returns more than one row


Ответы (1 шт):

Автор решения: Akina
UPDATE table_1
SET field_1_2 = ( SELECT table_2.field_2_2
                  FROM table_2
                  WHERE table_1.field_1_1 = table_2.field_2_1 )
WHERE field_1_2 IS NULL
→ Ссылка