创建从Oracle到SQL Server的等效索引

时间:2018-06-29 18:41:01

标签: sql sql-server oracle

我有一个当前索引,该索引是我从Oracle中提取的,正尝试添加到SQL Server中。据我所知,我将必须删除双引号并使用WITH(...。但是,我找不到SQL Server中的Maxtrans和其他等效关键字,尤其是我一直认为的M_ROW$$将是ROW_NUMBER

CREATE UNIQUE INDEX ""MYDB"".""I_SNAP$MYTABLE"" ON 
""MYDB"".""MYTABLE"" (""M_ROW$$"")          
PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING COMPUTE STATISTICS             
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645           
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)            
TABLESPACE ""IL_MIS_INDX""          

任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

我猜您不需要所有选项。因此,只需使用默认语法:

CREATE UNIQUE INDEX <MYDB.I_SNAP$MYTABLE> ON MYDB.MYTABLE (<M_ROW$$>)     

当然,表名和列名必须是SQL Server中的实际名称。

我推测您在SQL Server中不需要索引选项。如果这样做,您将需要优化该数据库的索引,而不是假设在Oracle中有效的将在SQL Server中自动起作用。