以下のスクリプトは、単一行のサブクエリが複数の行を返すという 01427 エラーを返します。rownum<2 はいくつかの行を更新します。明らかな解決策は pl/sql でループすることですが、SQL のみの解決策があるかどうかを判断しようとしています。
UPDATE ldl.clens le
SET master_song_id =
(SELECT cf.song_id#
FROM lt.master_songs cf
WHERE le.lot_id = cf.lot_id
AND song_id#_fk =
(SELECT msc_songs.song_id#
FROM lt.msc_songs
WHERE msc_songs.song_name = le.song_name)
---- AND ROWNUM < 2
);
すべてのヘルプと提案を深く感謝します!
MD