oracle 我在plsql developer里面自己编写的语句 为什么在explain plan窗口可行 但是真正执行却执行不出来

2025-05-12 07:26:43
推荐回答(2个)
回答(1):

原因: WHERE BUS_ID IN (SELECT BUS_ID FROM BUS_TOTAL);出多行。
实例:
UPDATE BUS01
SET (BUS_START, BUS_END) = (SELECT BUS_START, BUS_END
FROM BUS_TOTAL
WHERE BUS01.BUS_ID = BUS_TOTAL.BUS_ID)
WHERE EXISTS
(SELECT 1 FROM BUS_TOTAL WHERE BUS01.BUS_ID = BUS_TOTAL.BUS_ID)

回答(2):

写个语句块吧,SELECT BUS_START, BUS_END
FROM BUS_TOTAL
WHERE BUS01.BUS_ID = BUS_TOTAL.BUS_ID 可能会返回多条结果