SQLのチェック制約
SQLのチェック制約
チェック制約は、列の値の範囲を制限するために使用されます。
あなたは、単一の列にCHECK制約を定義する場合、その列の特定の値のみを許可します。
テーブル定義のチェック制約であれば、その後、限界値の特定の列の他の列の値に基づいて制約行。
SQLのチェック制約ときのCREATE TABLE
"人"テーブルは "P_ID」列にCHECK制約を作成するために作成される以下のSQL。 CHECK制約は、「P_ID」欄が0より大きい整数のみを含める必要があります指定します。
MySQLの:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)
SQL Serverの/ Oracleの/ MSアクセス:
CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
CHECK制約に名前を付け、列のCHECK制約を複数定義するには、次のSQL構文を使用します。
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)
SQLのチェック制約は、ALTER TABLEとき
テーブルが作成されている場合、次のSQLを使用してください "P_ID「CHECK制約の列を作成します。
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
ADD CHECK (P_Id>0)
CHECK制約に名前を付け、列のCHECK制約を複数定義するには、次のSQL構文を使用します。
MySQLの/ SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
CHECK制約を元に戻します
CHECK制約を削除するには、次のSQLを使用します。
SQL Serverの/ Oracleの/ MSアクセス:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
DROP CONSTRAINT chk_Person
MySQLの:
ALTER TABLE Persons
DROP CHECK chk_Person
DROP CHECK chk_Person