哪个命令会替换Oracle中SQLServer的IDENTITY INSERT ON/OFF?

rod*_*goq 9 t-sql migration oracle sequence identity-insert

我必须将此查询(此处简化)从T-SQL迁移到ORACLE

SET IDENTITY_INSERT table ON

INSERT INTO table (id, value) VALUES (1, 2)

SET IDENTITY_INSERT table OFF
Run Code Online (Sandbox Code Playgroud)

id 是SQLServer中的标识字段.

我在ORACLE中有一个与序列相同的表,我找不到一个片段,显示如何禁用序列并将其设置为使用MAX(id)+ 1再次启动.

任何ORACLE专家都可以帮我解决这个问题吗?

谢谢,罗德里戈.

MJB*_*MJB 7

您不必在Oracle中禁用标识.由于您正在使用序列,因此不要将其用于该插入.

也就是说,而不是

insert into table (id, values) values (table_seq.nextval, 2)
Run Code Online (Sandbox Code Playgroud)

你用

insert into table (id, values) values (1, 2)
Run Code Online (Sandbox Code Playgroud)

至于你关于重新启动序列的第二个问题,我认为在这里回答了这个问题.