我之前因为其他原因看到了错误,但我该如何解决?
INSERT INTO [dbo].[XXX] ([ID], [aaa], [bbb], [ccc])
VALUES (SELECT NEXT VALUE FOR dbo.S_SHIPPING_ID_SEQ, @aaa, @bbb, @ccc)
感谢您的帮助
答案 0 :(得分:3)
只需使用insert . . . select
即可。不需要values
:
INSERT INTO [dbo].[XXX] ([ID], [aaa], [bbb], [ccc])
SELECT NEXT VALUE FOR dbo.S_SHIPPING_ID_SEQ, @aaa, @bbb, @ccc;
或者,如果您真的喜欢VALUES
,请使用子查询:
INSERT INTO [dbo].[XXX] ([ID], [aaa], [bbb], [ccc])
VALUES (SELECT NEXT VALUE FOR dbo.S_SHIPPING_ID_SEQ), @aaa, @bbb, @ccc);
实际上,这也应该有效:
INSERT INTO [dbo].[XXX] ([ID], [aaa], [bbb], [ccc])
VALUES (NEXT VALUE FOR dbo.S_SHIPPING_ID_SEQ, @aaa, @bbb, @ccc);
但为什么不将ID
声明为身份并使用:
INSERT INTO [dbo].[XXX] ([aaa], [bbb], [ccc])
VALUES (@aaa, @bbb, @ccc);