データベースチェック制約の設定方法
データベースの CHECK 制約は、挿入または更新操作の際に何らかの条件を満たすことを強制するために使用されます。ほとんどのデータベース管理システムでは、CHECK 制約は式を使用して条件を定義します。以下に、一般的なデータベースで CHECK 制約を設定する方法をいくつか示します。1. MySQL:
MySQL では、通常、CHECK 制約は機能しないため、トリガーを使用して同様の機能を実現できます。2. PostgreSQL:
PostgreSQL では、ALTER TABLE ステートメントで CHECK 制約を追加または変更できます。たとえば、age 列の値が 18 以上であることを保証する CHECK 制約を作成するには、次のようになります。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (age >= 18);
Oracle:
Oracleでは、CHECK制約は、表の作成時にCONSTRAINT句を使用して追加できます。例えば、salary列の値が0以上であることを保証するCHECK制約を作成するには、次のようになります。
CREATE TABLE table_name (
…
salary NUMBER(10,2) CONSTRAINT constraint_name CHECK (salary >= 0),
…
);
4. SQL Server: SQL Serverでは、CHECK制約はCONSTRAINT句を使用してテーブル作成時に追加できます。例: age列の値が18以上であることを保証するCHECK制約を作成するには、
CREATE TABLE table_name (
…
age INT CONSTRAINT constraint_name CHECK (age >= 18),
…
);
チェック制約の設定方法はデータベースによって異なるため、お使いのデータベース管理システムのドキュメントを参照してください。