我想在 SQL 形式的多个选择语句中使用相同的序列号,最终将其用作表中的 PK 插入并将多条记录联系在一起。
到目前为止,我只能从双中选择 NEXTVAL:
SELECT TEST_SEQ.NEXTVAL AS SEQ FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
但是,当我将序列包含在多列选择中时,出现此处不允许序列错误。
SELECT col1, co2, col3, (select TEST_SEQ.NEXTVAL) SEQ
FROM table;
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏。
不要使用子选择:
SELECT col1, co2, col3, TEST_SEQ.NEXTVAL as SEQ
FROM table;
Run Code Online (Sandbox Code Playgroud)
如果要从序列对象中选择下一个值,可以使用此 SQL 语句。
SELECT NEXT VALUE FOR [dbo].[seq_Vehicles] AS NextVehicleId
Run Code Online (Sandbox Code Playgroud)
如果要从 SQL 序列中选择多个下一个值,则必须循环调用上述 SQL 语句并将获得的“下一个值”保存在存储中。
您可以使用 (while 循环) 或通过 (光标) 进行循环。