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

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」という名前の外部キーを再度有効化しています。これにより、外部キーによる参照整合性のチェックが再開されます。

  1. 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

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

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