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 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における外部キー(CASCADE DELETE / 連鎖削除)
- SQL Serverにおける外部キー(SET NULL)
外部キーを再有効化するコマンド
無効化された外部キーを再び有効化したい場合は、以下のコマンドを実行します。
ALTER TABLE hangtonkho
CHECK CONSTRAINT fk_htk_id_sanpham;
上記の例では、ALTER TABLEコマンドを使用して、hangtonkhoテーブル内の「fk_htk_id_sanpham」という名前の外部キーを再度有効化しています。これにより、外部キーによる参照整合性のチェックが再開されます。
-
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_sanph
-
MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説
SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ