こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Oracle:Oracleシーケンスとは?

Oracleシーケンスとは何者なのでしょうか?
なにやら番号のようなものですよねえ・・・たぶん
ということで以下について教えて下さい。

1.シーケンスとは何ですか?
2.Oracleシーケンスとは何ですか?
3.どのようにOracleシーケンスを取得するのですか?

以上、宜しくお願いいたします。

投稿日時 - 2000-12-20 10:27:08

QNo.20607

暇なときに回答ください

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

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

投稿日時 - 2000-12-20 14:10:32

お礼

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

投稿日時 - 2000-12-20 15:22:15

ANo.3

こんにちは。

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

ではでは・・・

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

投稿日時 - 2000-12-20 12:54:04

お礼

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

投稿日時 - 2000-12-20 15:18:41

ANo.2

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

投稿日時 - 2000-12-20 12:11:35

お礼

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

投稿日時 - 2000-12-20 15:16:43

ANo.1

「順序」のことを言います。
平たく言えば、Oracleが用意しているカウンターです。
一意に採番するコードを生成する際などに使用します。

CREATE SEQUENCE文で「順序(シーケンス)」を生成し、作成(CREATE)されたシーケンスオブジェクトから、新たな値を取り出すことが可能になります。

投稿日時 - 2000-12-20 11:05:26

お礼

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

投稿日時 - 2000-12-20 15:14:25

あなたにオススメの質問