Sql server Oracle中的序列到SQL Server中的标识列

Sql server Oracle中的序列到SQL Server中的标识列,sql-server,oracle,Sql Server,Oracle,我需要在Oracle中“迁移”一个表,这个表有一个主键列,带有一个序列和一个触发器来自动递增这个列,这个过程很详细 问题是,我想将此表迁移到SQL Server,但我想利用标识功能。如何在SQL Server中调整表?考虑到我需要迁移数据这一事实,我不希望autoincrement列出现问题;我是否会丢失Oracle中以前的id分配?否,您创建的表包含一个标识列,如 MyID int identity([your max ID],1) 然后在插入oracle数据时,在插入之前运行此命令 SET

我需要在Oracle中“迁移”一个表,这个表有一个主键列,带有一个序列和一个触发器来自动递增这个列,这个过程很详细


问题是,我想将此表迁移到SQL Server,但我想利用标识功能。如何在SQL Server中调整表?考虑到我需要迁移数据这一事实,我不希望autoincrement列出现问题;我是否会丢失Oracle中以前的id分配?

否,您创建的表包含一个标识列,如

MyID int identity([your max ID],1)
然后在插入oracle数据时,在插入之前运行此命令

SET IDENTITY_INSERT MYTABLE  ON

/*insert your records*/

SET IDENTITY_INSERT MYTABLE  OFF

您使用的是哪个版本的SQL Server?如果是2012或更高版本,则可以使用序列而不是标识column@BenThulSQL Server 2014;这引出了另一个问题:哪一个更好?序列还是标识列?利弊。从管理的角度来看,序列更容易处理(不要胡说标识的插入),将来您可以比更改标识更容易地更改序列。此外,我还了解到序列比标识列性能更好,尽管我从未遇到过标识值生成成为我的瓶颈的情况。