• 締切済み

Oracle:Oracleシーケンスとは?

Oracleシーケンスとは何者なのでしょうか? なにやら番号のようなものですよねえ・・・たぶん ということで以下について教えて下さい。 1.シーケンスとは何ですか? 2.Oracleシーケンスとは何ですか? 3.どのようにOracleシーケンスを取得するのですか? 以上、宜しくお願いいたします。

みんなの回答

  • riezo
  • ベストアンサー率0% (0/0)
回答No.4

こんにちは。 3. の質問に関してですが、sequence の今の値を取得するには currval を使用します。次の値を取るには nextval を使います。 Oracle 関係の書籍がたくさん出ているので一度読まれてはいかがでしょうか。基本的なことなのでどの本にも載っていると思います。 ちなみに、sequence は初期値、増分も設定できます。

ct27
質問者

お礼

ご回答ありがとうございます。 この質問を載せた後にがさごそ書籍を見渡してみたところriezoさんのご回答などがごにょごにょと記載されている ものを発見しました。便利なものがあるのだなあと今更ですが思ってしまいました。

  • paz777
  • ベストアンサー率47% (77/163)
回答No.3

こんにちは。 補足です。 過去にOracleシーケンスの掲示がありましたので、 一度参考にしてみて下さい。 ではでは・・・

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=16747
ct27
質問者

お礼

補足ありがとうございます。 ACCESSにはオートナンバー型というものがあるんですね!勉強になります。

  • sh0g0
  • ベストアンサー率40% (2/5)
回答No.2

シーケンスオブジェクトはロールバックの対象にはなりません。どうしても欠番を出したくないときはよく考えてデータベースを更新する必要があります。

ct27
質問者

お礼

ご回答ありがとうございます。 ロールバックの対象にならないということを生かせる場面では非常に有効的ですよね!

  • mfuku
  • ベストアンサー率50% (173/345)
回答No.1

「順序」のことを言います。 平たく言えば、Oracleが用意しているカウンターです。 一意に採番するコードを生成する際などに使用します。 CREATE SEQUENCE文で「順序(シーケンス)」を生成し、作成(CREATE)されたシーケンスオブジェクトから、新たな値を取り出すことが可能になります。

ct27
質問者

お礼

ご回答ありがとうございます。 なるほど、確かにSQL*PLUSでCREATE SEQUENCE~を作成すると 順序が作成されましたということをいわれますね。 Oracleが用意しているカウンターというのは非常にわかりやすい表現でした。