Копирование ограничений таблиц из выбора * в
-
21-12-2019 - |
Вопрос
делает select * into B from A
также копировать ограничения A на B?Если нет, то как я могу скопировать ограничения?
Решение
Нет, не в SQL-сервере.Вам нужно будет указать ограничения и индексы на новой таблице вручную.Если вы используете SSMS, использование функций Script As... Create To
может получить образец сценария для создания новой таблицы с теми же ограничениями и структурой.
Другие советы
Вы не можете напрямую скопировать ограничение от одной таблицы на другую таблицу, сначала вы должны скопировать структуру таблицы с индексами и ограничением, чтобы сделать это
Пожалуйста, следуйте инструкциям ниже:
-
в SSMS Щелкните правой кнопкой мыши на столе, сценарий создает.
-
Измените имя в сгенерированном скрипте до newstable
Вставьте в Newtable Select * от OldTable - обратите внимание, что это может быть медленным, если старый достаточно большой.
Это не будет копировать ограничения.Если вы хотите настроить две таблицы с одинаковыми ограничениями, вы должны сделать это вручную, запустив операторы Create Table / Connertaint.Вы можете иметь SQL Server создать операторы SQL из существующей таблицы.Использование SQL Server Studio, в объекте Explorer правой кнопкой мыши таблицу и выберите скрипт, как и выберите параметры, которые вы хотите, чтобы измените имя таблицы по мере необходимости.