SQLServerの制約を確認する
SQL Serverのチェック制約とは何ですか、何に使用され、何に使用されますか?この記事はあなたに答えを与えるでしょう。
SQL Serverのチェック制約チェック制約とは何ですか?
SQL Server(Transact-SQL)のチェック制約により、テーブルの各行の条件を定義できます。
注
- テスト制約はSQLビューで定義できません。
- テーブルのチェック制約は、そのテーブルの列を参照する必要があり、別のテーブルの列を参照することはできません。
- チェック制約はサブクエリサブクエリを使用できません。
- テスト制約は、CREATETABLEまたはALTERTABLEコマンドで定義できます。
CREATETABLEコマンドを使用してチェック制約を作成します
構文
CREATE TABLE ten_bang
(
cot1 kieudulieu [ NULL | NOT NULL ],
cot2 kieudulieu [ NULL | NOT NULL ],
…
CONSTRAINT ten_rangbuoc
CHECK [ NOT FOR REPLICATION ] (dieu_kien ten_cot)
);
SQLServerのデータ型
ten_bang
チェック制約を作成するテーブルの名前。
ten_rangbuoc
ten_cot
チェック制約が適用されるテーブル列。
条件
条件が満たされている必要があります。
例
CREATE TABLE nhanvien
(id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT id_nhanvien_kiemtra
CHECK (id_nhanvien BETWEEN 1 AND 10000)
);
この例では、CREATE TABLEステートメントにより、テーブルにid_nhanvien_kiemtraという名前のチェック制約が作成されます。この制約により、id_nhanvien情報フィールドに1〜10000の値が含まれるようになります。
これは別の例です。
CREATE TABLE nhanvien
(id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT luong_kiemtra
CHECK (luong > 0)
);
この例では、テーブルのチェックサムをチェックする制約を作成し、給与がゼロより大きくなるようにします。
ALTERTABLEコマンドを使用してチェック制約を作成します
構文
ALTERTABLE ten_bang
ADD CONSTAINT ten_rangbuoc
CHECK (d
ieu_kien ten_cot);
ten_bang
テーブルの名前でチェック制約を追加します。
ten_rangbuoc
チェックバインディングに設定された名前。
ten_cot
制約をチェックするテーブルの列が適用されます。
条件
制約をチェックする条件が満たされている必要があります。
例
これは、ALTERTABLEコマンドを使用してSQLServerでチェック制約を作成する例です。
ALTER TABLEnhanvien
ADD CONSTRAINT ho_kiemtra
CHECK (ho IN ('S
mith', 'Anderson', 'Jonas'));
チェック制約ho_kiemtraが既存のテーブルに作成され、従業員の名前にSmith、Anderson、またはJonasの値のみが含まれるようにします。
構文
ALTER TABLE ten_bang
DROP
CONSTRAINT ten_rangbuoc
ten_bang
チェック制約を削除するテーブルの名前。
ten_rangbuoc
バインディング名が削除するかどうかを確認してください。
例
ALTER TABLE nhanvien
DROP
CONSTRAINT ho_kiemtra;
このコマンドは、テーブルの制約ho_kiemtraを削除します。
構文
ALTER TABLE ten_bang
WITH CHEC
K CHECK CONSTRAINT ten_rangbuoc;
ten_bang
チェック制約を再度有効にするテーブルの名前。
ten_rangbuoc
チェック制約の名前をアクティブにする必要があります。
例
ALTER TABLE nhanvien
WITH CHEC
K CHECK CONSTRAINT luong_kiemtra;
この例では、テーブル内のテーブルのチェック制約が再度アクティブになります。
構文
ALTER TABLE ten_bang
NOCHECK
CONSTRAINT ten_rangbuoc;
ten_bang
チェック制約を無効にするテーブルの名前。
ten_rangbuoc
チェック制約の名前を無効にします。
例
ALTER TABLE nhanvien
NOCHECK
CONSTRAINT luong_kiemtra;
この例では、テーブル内のluong_kiemtraのチェック制約を無効にします。
-
SQLServerのPIVOT句
SQL Server(Transact-SQL)では、PIVOT句を使用すると、クロス集計を使用して、あるテーブルから別のテーブルにデータを転送できます。つまり、集計結果を取得して行から列に移動できます。 この例では、合計を計算してから、データテーブルの列に行を渡します。 PIVOT句の構文 SELECT cot_ dautien AS , [giatri_chuyen1], [giatri_chuyen2], … [giatri_chuyen_n] FROM () AS PIVOT ( ham_tong () FOR IN ([giatri_chuyen
-
MicrosoftSQLServerのデータベースでの基本的な操作
みなさん、こんにちは。以前の投稿では、SSMS(SQL Server Management Studio)を介してSQLServerへの接続をインストールして確立しました。 この次の記事では、SQL ServerManagementStudioインターフェイスツールを使用したSQLServerのデータベースでの最も基本的な操作について詳しく説明します。では、始めましょう! #first。新しいデータベースを作成する +ステップ1:まず、SQL Server Management Studioを開き、次にSQLServerに接続します。 (1)–アイテムデータベースを右クリックします。 (