Как удалить ограничение в sql
Перейти к содержимому

Как удалить ограничение в sql

  • автор:

Удаление проверочного ограничения

Вы можете удалить проверочные ограничения в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Удаление проверочного ограничения снимает ограничения на значения данных, допустимые для столбца или столбцов, включенных в выражение ограничения.

В этом разделе

  • Перед началом работыБезопасность
  • Удаление проверочного ограничения с использованием:Среда SQL Server Management StudioTransact-SQL

Перед началом

Безопасность

Разрешения

Требуется разрешение ALTER на таблицу.

Использование среды SQL Server Management Studio

Удаление проверочного ограничения
  1. В Обозревателе объектовразверните таблицу с проверочным ограничением.
  2. Разверните раздел Ограничения.
  3. Щелкните ограничение правой кнопкой мыши и выберите Удалить.
  4. В диалоговом окне Удаление объекта нажмите кнопку ОК.

Использование Transact-SQL

Удаление проверочного ограничения
  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
  2. На стандартной панели выберите пункт Создать запрос.
  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
ALTER TABLE dbo.DocExc DROP CONSTRAINT CHK_ColumnD_DocExc; GO 

Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).

Как удалить ограничение в sql

Кейсы бывают разные. Я расскажу о том, как удалить ограничение зная имя таблицы. Общий вид запроса такой:

ALTER TABLE table_name DROP CONSTRAINT constraint_name; 

А вот конкретный пример:

ALTER TABLE order_details DROP CONSTRAINT order_unique; 

Удаление ограничений уникальности

Вы можете удалить ограничение уникальности в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Удаление ограничения уникальности приводит к удалению требования уникальности значений, вводимых в столбцы или в сочетание столбцов, указанных в выражении ограничения, а также к удалению соответствующего уникального индекса.

В этом разделе

  • Перед началом работыБезопасность
  • Удаление ограничения уникальности с использованием:Среда SQL Server Management StudioTransact-SQL

Перед началом

Безопасность

Разрешения

Требуется разрешение ALTER на таблицу.

Использование среды SQL Server Management Studio

Удаление ограничения уникальности в обозревателе объектов
  1. В обозревателе объектов разверните таблицу, содержащую ограничение уникальности, а затем разверните узел Ограничения.
  2. Щелкните ключ правой кнопкой мыши и выберите команду Удалить.
  3. В диалоговом окне Удаление объекта убедитесь в том, что выбран правильный ключ, и нажмите кнопку ОК.
Удаление ограничения уникальности с помощью конструктора таблиц
  1. В Обозревателе объектовщелкните таблицу с ограничением уникальности правой кнопкой мыши и выберите пункт Конструктор.
  2. В меню Конструктор таблиц выберите пункт Индексы и ключи.
  3. В диалоговом окне Индексы и ключи выберите уникальный ключ в списке Выбранный первичный или уникальный ключ или индекс .
  4. Щелкните Удалить.
  5. В меню Файл выберите команду Сохранитьимя_таблицы.

Использование Transact-SQL

Удаление ограничения уникальности
  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
  2. На стандартной панели выберите пункт Создать запрос.
  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- Return the name of unique constraint. SELECT name FROM sys.objects WHERE type = 'UQ' AND OBJECT_NAME(parent_object_id) = N' DocExc'; GO -- Delete the unique constraint. ALTER TABLE dbo.DocExc DROP CONSTRAINT UNQ_ColumnB_DocExc; GO 

Удаление SQL ограничения по умолчанию без его имени

Если вам требуется немедленно убрать неименованное ограничение по умолчанию в SQL Server, примените этот скрипт:

Скопировать код

DECLARE @Sql nvarchar(1000); SELECT @Sql = 'ALTER TABLE ' + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) + ' DROP CONSTRAINT ' + QUOTENAME(DC.name) FROM INFORMATION_SCHEMA.COLUMNS C JOIN sys.default_constraints DC ON C.COLUMN_DEFAULT LIKE '%' + DC.name + '%' WHERE C.TABLE_NAME = N'ВашаТаблица' AND C.COLUMN_NAME = N'ВашСпобец'; EXEC sp_executesql @Sql;

Подставьте вместо ВашаТаблица и ВашСтолбец актуальные названия вашей таблицы и колонки. Данный код даст вам возможность оказаться без ограничения по умолчанию быстро и без лишних усилий!

Глубокое изучение системных таблиц и динамического SQL

Системные таблицы SQL Server, такие как sys.tables , sys.default_constraints и sys.columns , содержат информацию о структуре баз данных и предоставляют данные для выполнения динамических операций. Исключение ограничения становится возможным благодаря их использванию.

Динамический SQL дает преимущество в создании и выполнении SQL команд в процессе работы. Когда имена ограничений не известны, он становится вашим главным помощником, используя команды ALTER TABLE .

Преодоление критических особенностей: схемы и несоответствия в именовании

Если вам приходилось работать с базами данных, в которых были нестандартные имена или допущены ошибки в названиях, наш подход нивелирует эти моменты. Он автоматически генерирует названия ограничений и направляет их к цели.

Не забудьте указывать схему таблицы TABLE_SCHEMA , чтобы точно определить местонахождение требуемых ограничений, в частности когда работаете с несколькими схемами.

Профессиональный обход несоответствий в базе данных

Данный скрипт оснащен решить любые необычные особенности в вашей базе данных. Он автономно определяет названия ограничений, отрабатывая эффективно даже тогда, когда стандарты именования оказываются недостаточно хорошими.

Визуализация

Вообразите себе полку с книгами, где каждая из книг снабжена закладкой:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *