SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL Serverで外部キー(FOREIGN KEY)を無効にする方法

SQL ServerでFOREIGN KEY(外部キー)を作成した後、データ移行やメンテナンス作業などで一時的に無効化したいケースがあります。そのような場合は、ALTER TABLEコマンドを使用します。

SQL Serverで外部キーを無効にする構文

ALTER TABLE テーブル名
NOCHECK CONSTRAINT 外部キー名;

パラメータの説明

テーブル名
外部キーが設定されているテーブルの名前です。

外部キー名
無効にしたい外部キーの名前です。

使用例

CREATE TABLE sanpham
( id_sanpham INT PRIMARY KEY,
ten_sanpham VARCHAR(50) NOT NULL,
phan_loai VARCHAR(25)
);

CREATE TABLE hangtonkho
( id_hangtonkho INT PRIMARY KEY,
id_sanpham INT NOT NULL,
soluong INT,
luong_toithieu INT,
luong_toida INT,
CONSTRAINT fk_htk_id_sanpham
FOREIGN KEY (id_sanpham)
REFERENCES sanpham (id_sanpham)
);

この例では、まず親テーブル「sanpham」を主キー id_sanpham を含めて作成しています。続いて子テーブル「hangtonkho」を作成し、参照整合性制約を持つ外部キーを設定しています。CREATE TABLE文によって、hangtonkhoテーブルには「fk_htk_id_sanpham」という名前の外部キーが作成され、hangtonkhoテーブルの id_sanpham 列と sanpham テーブルの id_sanpham 列との間に関係性が形成されます。

外部キーに関する関連記事はこちら:

  • SQL Serverにおける外部キー(カスケード削除:ON DELETE CASCADE)
  • SQL Serverにおける外部キー(NULL設定:ON DELETE SET NULL)

作成済みの外部キーを無効にしたい場合は、以下のコマンドを実行します。

ALTER TABLE hangtonkho
NOCHECK CONSTRAINT fk_htk_id_sanpham;

上記の例では、ALTER TABLEコマンドを使用して、hangtonkhoテーブルに作成された外部キー「fk_htk_id_sanpham」を無効にしています。なお、再度有効化したい場合は NOCHECK の代わりに CHECK CONSTRAINT fk_htk_id_sanpham; を実行すればOKです。

  1. SQL Serverで外部キー(Foreign Key)を有効化する方法

    SQL Serverにおいて、FOREIGN KEY(外部キ)が無効化されている場合、ALTER TABLEコマンドを使って再度有効化(再有効化)することができます。 SQL Serverで外部キーを有効化する構文 ALTER TABLE ten_bang CHECK CONSTRAINT fk_ten; パラメータの説明 ten_bang外部キーが作成されているテーブルの名前を指定します。 fk_ten有効化したい外部キーの名前を指定します。 具体例 まず、親テーブルと子テーブルを作成してみましょう。 CREATE TABLE sanpham ( id_sanpham INT PRIM

  2. MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説

    SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ