Oracle は、世界で最も人気があり強力なリレーショナル データベースの 1 つです。 Oracle では、テーブルに新しいデータを挿入するたびに、テーブル内の特定の列にデフォルト値を割り当てる必要がよくあります。これらのデフォルト値は、テーブルの作成時に指定することも、ALTER ステートメントに追加することもできます。この記事では、Oracle のデフォルト値設定のさまざまな方法とその使用法について詳しく説明します。
1. テーブルの作成時にデフォルト値を指定する
Oracle では、テーブルの作成時に DEFAULT ステートメントを使用してテーブル内の列のデフォルト値を定義できます。次の例では、student という名前のテーブルを作成し、DEFAULT キーワードを使用して Grade という名前の列にデフォルト値 'A' を定義します。
CREATE TABLE student ( name VARCHAR2(50), age NUMBER, Grade VARCHAR2(2) DEFAULT 'A' );
この例では、新しいレコードを挿入するときを指定します。表に「Grade」列の値が指定されていない場合、Oracle はデフォルト値「A」を割り当てます。
2. ALTER ステートメントを使用して既存のテーブルにデフォルト値を追加する
テーブルの作成時にデフォルト値を定義することに加えて、ALTER ステートメントを使用して次の値を定義することもできます。既存のテーブルの列のデフォルト値。次の例は、ALTER ステートメントを使用して、既存のテーブル Student の Grade 列にデフォルト値を設定する方法を示しています。
ALTER TABLE student MODIFY Grade DEFAULT 'A';
この例では、Student テーブルに新しいレコードを挿入すると、Grade 列が列に値が指定されていない場合、Oracle は自動的に NULL ではなくデフォルト値「A」を割り当てます。
3. INSERT ステートメントで列のデフォルト値を指定する
INSERT ステートメントで DEFAULT キーワードを使用して、列のデフォルト値を指定することもできます。次の例は、DEFAULT を使用してテーブルに新しいレコードを挿入する方法を示しています。
INSERT INTO student(name, age, Grade) VALUES('小明', 18, DEFAULT);
この例では、INSERT ステートメントで DEFAULT を使用して、Grade という名前の列のデフォルト値を指定しています。 Oracle はデフォルト値「A」を自動的に割り当てます。
4. シーケンスを使用して列にデフォルト値を割り当てる
Oracle では、シーケンスを使用して列にデフォルト値を割り当てることができます。シーケンスは一意の数値を生成するために使用されるオブジェクトです。シーケンスを定義し、その NEXTVAL 関数を使用して列のデフォルト値を指定できます。次の例は、シーケンスを使用して ID という名前の列のデフォルト値を指定する方法を示しています。
CREATE SEQUENCE student_seq START WITH 1 INCREMENT BY 1; ALTER TABLE student MODIFY ID DEFAULT student_seq.NEXTVAL;
この例では、student_seq という名前のシーケンスを作成し、ALTER ステートメントで The default という名前のシーケンスとして使用します。 ID 列の値。新しいレコードを Student 表に挿入するたびに、ID 列の値が指定されていない場合、Oracle は Student_seq.NEXTVAL 関数を呼び出して一意の値を生成し、ID 列に割り当てます。
結論:
Oracle では、さまざまな方法で列にデフォルト値を割り当てることができます。テーブルの作成時にデフォルト値を定義するのは最も一般的な方法の 1 つであり、ALTER ステートメントを使用して既存のテーブルにデフォルト値を定義すると、この柔軟性が拡張されます。 DEFAULT キーワードの使用は、INSERT ステートメントで列のデフォルト値を指定する便利な方法でもあります。最後に、シーケンスを使用して列にデフォルト値を割り当てることは、各レコードが一意の数値識別子を持つようにすることでデータの整合性を保証する効果的な方法です。
以上がOracle のデフォルト値設定のさまざまな方法について詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。