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

SQLServerの制約を確認する

SQL Serverのチェック制約とは何ですか、何に使用され、何に使用されますか?この記事はあなたに答えを与えるでしょう。

SQL Serverのチェック制約チェック制約とは何ですか?

SQL Server(Transact-SQL)のチェック制約により、テーブルの各行の条件を定義できます。

  1. テスト制約はSQLビューで定義できません。
  2. テーブルのチェック制約は、そのテーブルの列を参照する必要があり、別のテーブルの列を参照することはできません。
  3. チェック制約はサブクエリサブクエリを使用できません。
  4. テスト制約は、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

チェック制約が適用されるテーブル列。

条件

条件が満たされている必要があります。

  CREA TE 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の値が含まれるようになります。

これは別の例です。

  CRE ATE TABLE nhanvien 
(id_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT luong_kiemtra
CHECK (luong > 0)
);

この例では、テーブルのチェックサムをチェックする制約を作成し、給与がゼロより大きくなるようにします。

ALTERTABLEコマンドを使用してチェック制約を作成します

構文

  ALTER TABLE ten_bang 
ADD CONSTAINT ten_rangbuoc
CHECK (d ieu_kien ten_cot);

ten_bang

テーブルの名前でチェック制約を追加します。

ten_rangbuoc

チェックバインディングに設定された名前。

ten_cot

制約をチェックするテーブルの列が適用されます。

条件

制約をチェックする条件が満たされている必要があります。

これは、ALTERTABLEコマンドを使用してSQLServerでチェック制約を作成する例です。

  ALTER TABLE  nhanvien 
ADD CONSTRAINT ho_kiemtra
CHECK (ho IN ('S mith', 'Anderson', 'Jonas'));

チェック制約ho_kiemtraが既存のテーブルに作成され、従業員の名前にSmith、Anderson、またはJonasの値のみが含まれるようにします。

チェック制約を削除

構文

  ALTE R TABLE ten_bang 
DROP CONSTRAINT ten_rangbuoc

ten_bang

チェック制約を削除するテーブルの名前。

ten_rangbuoc

バインディング名が削除するかどうかを確認してください。

  ALTE R TABLE nhanvien 
DROP CONSTRAINT ho_kiemtra;

このコマンドは、テーブルの制約ho_kiemtraを削除します。

チェックバインディングを有効にする

構文

  ALTER TA BLE ten_bang 
WITH CHEC K CHECK CONSTRAINT ten_rangbuoc;

ten_bang

チェック制約を再度有効にするテーブルの名前。

ten_rangbuoc

チェック制約の名前をアクティブにする必要があります。

  ALTER TA BLE nhanvien 
WITH CHEC K CHECK CONSTRAINT luong_kiemtra;

この例では、テーブル内のテーブルのチェック制約が再度アクティブになります。

チェックバインディングを無効にする

構文

  ALTER TA BLE ten_bang 
NOCHECK CONSTRAINT ten_rangbuoc;

ten_bang

チェック制約を無効にするテーブルの名前。

ten_rangbuoc

チェック制約の名前を無効にします。

  ALTER T ABLE nhanvien 
NOCHECK CONSTRAINT luong_kiemtra;

この例では、テーブル内のluong_kiemtraのチェック制約を無効にします。


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

  2. MicrosoftSQLServerのデータベースでの基本的な操作

    みなさん、こんにちは。以前の投稿では、SSMS(SQL Server Management Studio)を介してSQLServerへの接続をインストールして確立しました。 この次の記事では、SQL ServerManagementStudioインターフェイスツールを使用したSQLServerのデータベースでの最も基本的な操作について詳しく説明します。では、始めましょう! #first。新しいデータベースを作成する +ステップ1:まず、SQL Server Management Studioを開き、次にSQLServerに接続します。 (1)–アイテムデータベースを右クリックします。 (