Вопрос

делает select * into B from A также копировать ограничения A на B?Если нет, то как я могу скопировать ограничения?

Это было полезно?

Решение

Нет, не в SQL-сервере.Вам нужно будет указать ограничения и индексы на новой таблице вручную.Если вы используете SSMS, использование функций Script As... Create To может получить образец сценария для создания новой таблицы с теми же ограничениями и структурой.

Другие советы

Вы не можете напрямую скопировать ограничение от одной таблицы на другую таблицу, сначала вы должны скопировать структуру таблицы с индексами и ограничением, чтобы сделать это

Пожалуйста, следуйте инструкциям ниже:

  1. в SSMS Щелкните правой кнопкой мыши на столе, сценарий создает.

  2. Измените имя в сгенерированном скрипте до newstable

  3. Вставьте в Newtable Select * от OldTable - обратите внимание, что это может быть медленным, если старый достаточно большой.

Это не будет копировать ограничения.Если вы хотите настроить две таблицы с одинаковыми ограничениями, вы должны сделать это вручную, запустив операторы Create Table / Connertaint.Вы можете иметь SQL Server создать операторы SQL из существующей таблицы.Использование SQL Server Studio, в объекте Explorer правой кнопкой мыши таблицу и выберите скрипт, как и выберите параметры, которые вы хотите, чтобы измените имя таблицы по мере необходимости.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top