在存储的过程中,我运行类似soi的查询:
SELECT NETWORKOWNER.BUS_SEQ.NEXTVAL@LEGACYSMITH.WORLD
FROM TBLDECIDERCONTRACT@LEGACYSMITH.WORLD
WHER PROVID = 28938
怎么会只会一个 NEXTVAL结果?
答案 0 :(得分:5)
使用dual
:
SELECT NETWORKOWNER.BUS_SEQ.NEXTVAL@LEGACYSMITH.WORLD FROM dual
答案 1 :(得分:4)
或更笼统地说:确保您的FROM和WHERE子句仅导致找到一行-然后NEXTVAL将仅执行一次。
此外,始终可以通过在PL / SQL中本地调用单个NEXTVAL执行来获得执行,如下所示:
DECLARE
l_seq INTEGER;
BEGIN
l_seq := my_sequence.NEXTVAL;
END;