В этом учебном пособии вы узнаете, как отключать внешний ключ в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
После того как вы создали foreign key в SQL Server, вы можете столкнуться с ситуацией, когда вам необходимо отключить foreign key. Вы можете сделать это с помощью оператора ALTER TABLE.
Синтаксис
Синтаксис отключения внешнего ключа в SQL Server (Transact-SQL):
NOCHECK CONSTRAINT fk_name;
Параметры или аргументы
table_name - имя таблицы, в которой был создан внешний ключ.
fk_name - имя внешнего ключа, который вы хотите отключить.
Пример
Рассмотрим пример отключения внешнего ключа в SQL Server (Transact-SQL) с помощью оператора ALTER TABLE.
Например, если вы создали внешний ключ следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR(50) NOT NULL, category VARCHAR(25) ); CREATE TABLE inventory ( inventory_id INT PRIMARY KEY, product_id INT NOT NULL, quantity INT, min_level INT, max_level INT, CONSTRAINT fk_inv_product_id FOREIGN KEY (product_id) REFERENCES products (product_id) ); |
В этом примере внешнего ключа мы создали родительскую таблицу products. Таблица products имеет первичный ключ, который состоит из поля product_id.
Затем мы создали вторую таблицу под названием inventory, которая в этом примере внешнего ключа будет дочерней таблицей. Мы использовали оператор CREATE TABLE для создания внешнего ключа fk_inv_product_id в таблице inventory. Внешний ключ устанавливает связь между столбцом product_id в таблице inventory и столбцом product_id в таблице products.
Если необходимо отключить отключить внешний ключ fk_inv_product_id, то выполняем следующую команду:
1 2 |
ALTER TABLE inventory NOCHECK CONSTRAINT fk_inv_product_id; |
В этом примере внешнего ключа будет использоваться оператор ALTER TABLE для отключения ограничения fk_inv_product_id, в таблице inventory.