総合制約(Integrity Constraint)は、データが業務ルールに従うことを保証し、ルールに適合しない不正なデータがデータテーブルに挿入されるのを防ぐために使用されます。本記事では、データベースのテーブルに不正なデータが挿入されるのを防ぐために、総合制約を使用する方法について説明します。
OceanBase データベースのOracleモードのテナントでは、ユーザーがデータベースのテーブルに不正なデータを挿入するのを防ぐために、総合制約を使用できます。総合制約の役割は、データベース内に保存される情報が一定の業務ルールに従うことを保証することです。DMLステートメントの実行結果が総合制約に違反した場合、ステートメントはロールバックされ、エラーメッセージが返されます。ビューおよびテーブルのシノニム(Synonym)に対して実行される操作は、ベーステーブル(Base Table)上の総合制約に従う必要があります。
OceanBase データベースのOracleモードでは、ユーザーは制約の ENABLE および DISABLE オプションを変更することで、その制約が有効になるかどうかを制御できます。
例えば、ユーザーが employees テーブルの salary 列に総合制約を定義したとします。この総合制約は、salary 列の数値が10000を超えるデータ行を employees テーブルに挿入できないように規定しています。特定の INSERT または UPDATE ステートメントがこの総合制約に違反した場合、ステートメントはロールバックされ、エラーメッセージが返されます。
総合制約の詳細については、データの整合性を参照してください。