Создать индексный эквивалент из Oracle в SQL Server - PullRequest
0 голосов
/ 29 июня 2018

У меня есть текущий индекс, полученный из Oracle, и я пытаюсь добавить его в SQL Server. Насколько я могу судить, мне придется удалить двойные кавычки и использовать WITH(... Однако я не могу найти эквивалент Maxtrans и других ключевых слов в SQL Server, особенно 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 голосов
/ 29 июня 2018

Полагаю, вам не нужны все опции. Итак, просто используйте синтаксис по умолчанию:

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

Конечно, имя таблицы и имя столбца должны быть фактическими именами в SQL Server.

Я предполагаю, что вам не нужны параметры индекса в SQL Server. Если вы это сделаете, вам нужно будет оптимизировать индекс для этой базы данных, а не предполагать, что то, что работает в Oracle, будет автоматически работать в SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...