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

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

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

このQ&Aに関連する最新のQ&A

oracleとは」に関するQ&A: Oracleとは?

A 回答 (4件)

「順序」のことを言います。


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

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

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

お礼日時:2000/12/20 15:14

こんにちは。


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

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

お礼日時:2000/12/20 15:22

こんにちは。



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

ではでは・・・

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=16747
    • good
    • 1
この回答へのお礼

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

お礼日時:2000/12/20 15:18

シーケンスオブジェクトはロールバックの対象にはなりません。

どうしても欠番を出したくないときはよく考えてデータベースを更新する必要があります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2000/12/20 15:16

このQ&Aに関連する人気のQ&A

oracleとは」に関するQ&A: Oracleとは?

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qoracleのシーケンスについて

こんにちは。oracleのシーケンスについて教えてください。
次のようなシーケンスを作成します。

CREATE SEQUENCE SQC_TEST
INCREMENT BY 1
START WITH 1
MAXVALUE 999999
MINVALUE 1
CASHE 20
CYCLE
/

この時、キャッシュ分の20という値は、いつどこでクリア?されるのか知りたいのです。
一番最初はシーケンスをクリエイトした時にキャッシュが20確保されると思うのですが、次にキャッシュが確保されるタイミングっていつなんでしょう?
最初の20を使い果たした時?それともシーケンスを作成してあるインスタンスをリブートした時??
というのは、設定したシーケンスが、実際発番していないのに一日ごとに20ずつカウントされていってるので原因をつきとめたいのです。
とりあえずはNOCACHEに設定してありますが、原因がわかれば、と思い質問させていただきました。
何かアドバイスいただけたらと思います。宜しくお願いいたします。

Aベストアンサー

No.1で回答した misoka ですが、
No.1の回答は、全然正確ではなかったようです。
失礼いたしました。

参考URLを参照してみてください。
キャッシュは、最初の要求で確保され、次回の確保は
「CACHE要求」があったときのようです。
システム障害が発生すると、キャッシュされた番号が
失われる可能性がある、と書かれています。

参考URL:http://www.sqlpowerpage.co.jp/Sqlcmd/createsequence.htm

Qoracle8iでのシーケンス作成

こんにちは。教えてください。
oracleのシーケンスなんですが、シーケンスを作成するときに
cycleでmax値を超えると値が元に戻るっていうのがあると思うのですが、
それと同様に、たとえば2001年から2002年に変わったタイミングで
シーケンスの値を1に戻す、という設定方法はあるのでしょうか。
よろしくご教授ください。

Aベストアンサー

UNIX,Linuxの場合ならシェルを組んで
その中でSQL*Plusを呼び出して、
シーケンスの値を1にするようなSQLを実行すればいいでしょう。
(シェルの中で環境変数を設定することを忘れずに)

そのシェルをcronから2002/01/01 00:00:00に呼び出すことで実装できます。

Windows系もcronに似たようなコマンドがあるでしょう。
ATコマンド?

QORACLEの資格の今後は...

現在、基本情報処理の資格はもっています。

次に、何かさらに資格を取ろうと思った時、
現在ではオラクルの資格がかなり知名度が高いように
思います。オラクルプラチナを持っているなんていったら、神様に見えます。

仕事としても最近オラクルに手のをつけ始めましたし、取るとしても、シルバー・ゴールドだとは思うのですが、
オラクルの資格の今後とレベルアップについて、
私的には、オラクルの資格ってレベルアップ(8I→9I→10G?)していかないと意味がなさそうだし、
10年後にどうなっているのだろう?と思います。

それに比べて、全然すごい資格ではありませんが、基本情報処理といえども旧2種から名前は変われど、10年経っても変わりませんよね。

自分へのレベルアップや知識としての向上であれば、役に立つのは当然なのはわかっていますが、
たとえば、10年後に、資格手当てや、転職に対する有利度、レベルアップの手間、の知名度としてはどう思いますか?

まさか、「そんなデータベースもあったなあ..」とまでは行かないとは思いますが、もっとすばらしいものができ、シェアが拡大することだってありますよね。

オラクル資格の今後の有効度についてどう思われますか?
意見をお聞かせください。

現在、基本情報処理の資格はもっています。

次に、何かさらに資格を取ろうと思った時、
現在ではオラクルの資格がかなり知名度が高いように
思います。オラクルプラチナを持っているなんていったら、神様に見えます。

仕事としても最近オラクルに手のをつけ始めましたし、取るとしても、シルバー・ゴールドだとは思うのですが、
オラクルの資格の今後とレベルアップについて、
私的には、オラクルの資格ってレベルアップ(8I→9I→10G?)していかないと意味がなさそうだし、
10年後にどうなっているの...続きを読む

Aベストアンサー

10年後のオラクルの資格ですか・・・
はっきり言ってまったく見当も付きませんが、この手の資格って、取得してから長くて3年ぐらいが旬(?)じゃないですかね?(おっしゃられてる通りバージョンアップに対応しないと意味ないですから。。。)
余談ですが、今から10年ほど前に業界でもてはやされたメーカー系の資格にNovellのNetWare技術者がありましたが、今では「そんなサーバーもあったなぁ..」状態ですね^^;

回答になってなくてすみません。。。

QOracle8i for Sun SPARC Solarsi R.8.1.6 のインストールについて

インストールをoracleユーザで実行するとエラーが表示され、
セットアップウィザードが表示されません。
どこが間違っているのでしょうか?

エラーの内容は、
Xlib:connection to "163.59.205.74:0.0" refused server
Xlib:Client is not authorized to connect to server
java.lang.InternalError:Can't connect to X11 window server using '163.59.205.74:0.0' as the value of the DISPLAY variable.
と表示されます。
どうもoracleユーザの環境変数"DISPLAY"が悪いようです。
起動は、サーバに直接接続された1つのモニターで行っていますし、
IPはそのインストールを行うサーバのIPアドレスをセットしています。
また、oracleユーザで"echo $DISPLAY"と入力すれば、
"163.59.205.74:0.0"と表示されます。
ついでに、"xhost +163.59.205.74"と入力すれば、
Xlib: connection to "163.59.205.74:0.0" refused by server
Xlib: Client is not authorized to connect to Server
xhost: unable to open display "163.59.205.74:0.0"
と表示されます。

インストールをoracleユーザで実行するとエラーが表示され、
セットアップウィザードが表示されません。
どこが間違っているのでしょうか?

エラーの内容は、
Xlib:connection to "163.59.205.74:0.0" refused server
Xlib:Client is not authorized to connect to server
java.lang.InternalError:Can't connect to X11 window server using '163.59.205.74:0.0' as the value of the DISPLAY variable.
と表示されます。
どうもoracleユーザの環境変数"DISPLAY"が悪いようです。
起動は、サーバに直...続きを読む

Aベストアンサー

はじめまして。
もう少し自分が行った手順を詳しく書いてみてはいかがでしょうか。私の場合は linux ですが
% su
# xhost +
# su - oracle
% export DISPLAY=localhost:0
でやりました。例えば、この場合だと xhost は root で実行しています。DISPLAY の設定は oracle で実行しています。xhost について詳しくないのでわかりませんが、エラーの内容をみると、パーミッションの関係でうまくopenできないような気もするのですが。
同じようにやっていれば、これは解決になってないですね。。。「アドバイス」ということで許してください。

QOracle8とOracle8iについて

サーバーにOralce8(8.0.5 nt)とOracle8i(8.1.7nt)があり
Oracle8の方のプログラムを作りたいのですが
Oracle8iのpro*cしか持っていません
このような場合oracle8用のpro*cを購入しないとだめでしょうか?
(ライセンスとか・・・)

Oralce8に接続するクライアントは今のままのバージョン(oracle8)を使用したいのですがOracle8クライアントのプログラムを8i用のpro*c8.1.7で作成できますか?
(このときはやっぱりクライアントは8iじゃないとだめでしょうか?)

回答、よろしくお願いします

Aベストアンサー

下位互換は無いようですね。
pro*c8.1.7ではOracle8i用のプログラムになってしまうようです。

取り扱い店に相談されるのが確実だと思いますがいかがでしょうか。


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報