順序の作成および管理

順序は一意の連続した値を生成できるスキーマ・オブジェクトであり、一意の主キーが必要な場合に非常に役立ちます。順序は、疑似列CURRVALおよびNEXTVALを通じて使用します。これらの疑似値は、それぞれ順序の現在と次の値を返します。

順序の作成後、NEXTVALを使用してその最初の値を取得し、順序を初期化する必要があります。順序を初期化した後のみ、CURRVALは現在の値を戻します。

HRスキーマには、DEPARTMENTS_SEQUENCE、EMPLOYEES_SEQUENCEおよびLOCATIONS_SEQUENCEの3つの順序が含まれます。

ヒント:表の主キーを移入するために順序を使用する場合は、この目的に合った名前を順序に付けることをお薦めします。(ここでは、TABLE_NAME_SEQUENCEというネーミング規則を使用します。)

関連情報:

チュートリアル: 順序の作成

このチュートリアルでは、データベース順序の作成ツールを使用して順序を作成し、それを使用して、EVALUATIONS表に主キーを生成する方法を示します。

EVALUATIONS表は、例4-1で作成しました。

順序を作成するには、SQL Developerツールの「順序の作成」またはDDL文の「CREATE SEQUENCE」を使用します。対応するDDL文は次のとおりです。

CREATE SEQUENCE evaluations_sequence
INCREMENT BY 1
START WITH 1 ORDER;

データベース順序の作成ツールを使用してEVALUATIONS_SEQUENCEを作成するステップ:

  1. 「接続」フレームのhr_connを開きます。

  2. スキーマ・オブジェクト・タイプのリストから、「順序」を右クリックします

  3. 選択肢のリストで、「新規順序」をクリックします。

  4. 「順序の作成」ウィンドウで、「名前」フィールドにEVALUATIONS_SEQUENCEと入力し、デフォルト値SEQUENCE1を上書きします。

  5. 「プロパティ」ペインが表示されない場合は、「プロパティ」タブをクリックします。

  6. 「プロパティ」ペインで、次の手順を実行します。

    1. 「増分」フィールドに1と入力します。

    2. 「開始文字」フィールドに1と入力します。

    3. 残りのフィールドでは、デフォルト値を受け入れます。

    4. 「OK」をクリックします。

      順序EVALUATIONS_SEQUENCEが作成されます。「接続」フレームの「順序」の下にその名前が表示されます。

関連情報:

順序の削除

順序を削除するには、SQL Developerの「接続」フレームと削除ツールまたはDDL文のDROP SEQUENCEを使用します。

この文は、順序EVALUATIONS_SEQUENCEを削除します。

DROP SEQUENCE EVALUATIONS_SEQUENCE;

注意: 例5-3で必要なため、順序EVALUATIONS_SEQUENCEを削除しないでください。順序の削除の練習をする際は、簡単な順序を作成し、それを削除してください。

「削除」ツールを使用して順序を削除するには:

  1. 「接続」フレームのhr_connを開きます。

  2. スキーマ・オブジェクト・タイプのリスト内で、「順序」を展開します

  3. 順序のリストで、削除する順序の名前を右クリックします。

  4. 選択肢のリストで、「削除」をクリックします。

  5. 削除ウィンドウで、「適用」をクリックします。

  6. 「確認」ウィンドウで、「OK」をクリックします。

関連項目: DROP SEQUENCE文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。