V tomto příkladu je váš problém určitě v poddotazu USING. Tento dotaz vytváří více než jednu hodnotu table2.column1 :
SELECT DISTINCT table2.column1,
view1.column2
FROM SCHEMA2.TABLE_2 table2
LEFT JOIN SCHEMA2.VIEW_1 view1
ON table2.column2 = view1.column3
Klauzule ON tedy bude odpovídat stejnému řádku (řádkům) v table1 více než jednou:
ON (table1.column3 = t2.column1 )
Oracle nemůže zjistit, která hodnota t2.column2 by měl být použit v UPDATE, takže mrští ORA-30926 .
Použití odlišných v poddotazu nepomáhá, protože to poskytuje permutace všech sloupců. Musíte napsat poddotaz, který bude produkovat jedinečné hodnoty t2.column1 přes všechny řádky, nebo přidejte další identifikační sloupce a vygenerujte jedinečný klíč, který můžete připojit k table1 .