Kecuali SELECT
. Anda subquery mengembalikan satu baris, UPDATE
. Anda pernyataan harus gagal dengan kesalahan
ORA-01427: single-row subquery returns more than one row
Umumnya, whey Anda memiliki pembaruan yang berkorelasi, Anda memerlukan beberapa kondisi yang menghubungkan baris di tabel luar T1
ke baris dalam subkueri dalam untuk memastikan bahwa subkueri mengembalikan satu baris. Itu biasanya akan terlihat seperti
UPDATE table1 t1 SET (t1.col,t1.Output) = (
SELECT t2.col, t3.Output + t2.col
FROM tabl2 t3
LEFT JOIN table1 t2 ON t3.Join_Key = t2.Join_Key
WHERE t2.col is not NULL
AND t1.some_key = t2.some_key);
Akhirnya, UPDATE
. ini pernyataan memperbarui setiap baris di T1
. Apakah itu yang Anda niatkan? Atau apakah Anda hanya ingin memperbarui baris di mana, misalnya, Anda menemukan kecocokan di subkueri Anda?