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

标签 oracle tsql migration sequence identity-insert

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

SET IDENTITY_INSERT table ON

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

SET IDENTITY_INSERT table OFF
id是SQLServer中的一个Identity字段。

我在ORACLE中有一个序列与同一张表,我找不到一个片段来显示如何禁用该序列并将其设置为以MAX(id)+ 1重新开始。

任何ORACLE专家都可以帮助我吗?

谢谢,
罗德里戈。

最佳答案

您不必在Oracle中禁用身份。由于您使用的是序列,因此请勿将其用于插入。

也就是说,代替

insert into table (id, values) values (table_seq.nextval, 2)

你用
insert into table (id, values) values (1, 2)

关于您关于重新启动序列的第二个问题,我认为这是在SO中回答的here

关于oracle - 哪个命令将替换Oracle中SQLServer的IDENTITY INSERT ON/OFF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758990/

相关文章:

oracle - 在 Oracle 中,散列连接和排序合并连接有什么区别?

scala - 玩迁移替代方案

database - 生产数据库中的 Flyway 集成

sql - 两个日期之间的工作日数

sql-server - SQL Server 复杂排名

mysql - MSSQL 和 MYSQL 迁移

oracle - 如何查找表中长列的长度

sql - Oracle 中的 VARCHAR(MAX) 与 VARCHAR(n)

java - 我可以在 Spring Boot + Hibernate 中通过文件加载用户名和密码吗?

asp.net - SQL - 使用 Scope_Identity() 插入 - 获取记录 ID