• ベストアンサー

sequenceの値の表示

Oracle9iを使用しています。 create sequence ClientNum start with 101; という生成プログラムを作りました。 これの値を表示させたいのですが、どうやったらいいのでしょうか。

  • Oracle
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.1

現在値ということでよろしいでしょうか。 SELECT ClientNum.CURRVAL FROM DUAL 増加値の場合は NEXTVAL を使用します。 SELECT ClientNum.NEXTVAL FROM DUAL なお、テーブルとして参照する場合には、 以下のとおり USER_SEQUENCES テーブルを 参照する事で確認できます。 SELECT * FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'ClientNum'

参考URL:
http://www.mitene.or.jp/~rnk/TIPS_ORCL_SEQ.htm
pooh_bear
質問者

お礼

なるほど! 丁寧なご回答、ありがとうございました。

関連するQ&A

  • oracleのシーケンスについて

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

  • Oracle8iで順序の値のリセット

    Oracle8.1.5上で現在稼動している順序があります。 わけあってこの値をスタート時の値1にリセットしたいのです。 どのような方法があるでしょうか? DROP SEQUENCEしてCREATE SEQUENCEは避けたいのですが どなたかご存知の方お願いします。

  • oracle sequence

    oracleのシーケンスでdual表からselect文のnextvalで取得したものをインサート したいのですが、ループ内で上記処理を複数回行ったときに、値が一回目以降 更新されずに困っています。 例) for (i=0;i < 5){ (1)セレクト文発行しシーケンスを取得。 (2)取得したシーケンスを変数にセット (3)インサート実行(主キーに取得したシーケンスをセット) } こんな感じで実行したときに、はじめはシーケンスが+1されますが、 それ以降シーケンスが増加しません。そのため、重複エラーが発生してしまいます。。。 どのように対処したらよいのかまったく見当がつきません。 大変申し訳ないのですが、ご教示いただきたくよろしくお願い申し上げます。

  • oracle8iでのシーケンス作成

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

  • オラクルのシーケンスについて

    オラクルの連番(シーケンス)の振り方について一つお聞きしたい事がございます。 Insert時にシーケンスを使い、0から100まで順に連番を振りたいの ですが、100に到達する前に、あるタイミングで現在値を0に戻して 再び1から連番を振りたいんです。 ちなみにあるタイミングを、下記に簡単に例として書きます。 (1)ファイルから1レコードずつデータを読み込む。  (1)初回は何もチェックせずInsertをし、先頭から4バイトまでの値を変数に格納  (2)2レコード目以降は、先頭から4バイトまでの値を前回の値(変数)と比較   True(値が同じ)  ⇒順番に連番を振る   False(値が違う)  ⇒新たに0から連番を振る。              変わった値を変数に格納する。 (2)Insertをする。 私の知っている知識で行けば、シーケンスは1テーブルで一つのシーケンス しか使用できなかったはずですが・・・なにぶん知識がないので、もしか したら出来たのかな?と思ったので質問しました。 上に書いた事が可能であるかどうか教えてください。 よろしくお願いします。

  • Oracleのシーケンスありのテーブル作成について

    Oracleのテーブルを作るのに、ある列を自動で「全体の通し番号」みたいなユニーク(一意)な番号を振りたいく、 シーケンス(sequence)を作成しテーブルを作ろうとしているのですがうまくいきません。 どこがわるいのでしょうか。 create sequence "yamaaf_seq"; CREATE TABLE TBL_AFFILIATE_SESS( UNIQ_ID NUMBER(11,0) DEFAULT nextval('yamaaf_seq') NOT NULL, ORG_CODE VARCHAR2(64) NOT NULL, primary key("UNIQ_ID"));

  • 年度毎にシーケンスの初期化?

    こんにちは あるプロジェクトでIDの連番を生成していますが、 年度毎に1から振り直します。 例:2009_001,2009_002... 2010_001... Oracleの順序(シーケンス)を使うとしたら、年度毎にどうやって順序を初期化するのでしょうか? そもそもこの場合、開発では順序を利用するべきではないでしょうか? よろしくお願いします。

  • POSTGRESQLデフォルトのシーケンス値を強制

    以下の(2)(3)のaをデフォルトであるシーケンスの値を強制入力しエラーを回避する方法はありますか? create sequence testseq start 1; create table test(a int not null default nextval('testseq'), b int); --(1)成功 insert into test (b) values(0); --(2)エラー insert into test (a,b) values(null,0); --(3)エラー insert into test values(null,0);

  • Oracle 10gで順序sequenceの作成(定義)した内容を見るには?

    Oracle 10gで順序sequenceの作成(定義)した内容を見るにはどうしたらよいのでしょうか? desc sequence_nameでは SP2-0381: DESCRIBE sequenceは使用できませんと表示されます。

  • SEQUENCEのEXPORT

    当方ではORACLE8.0.5 OSはsolaria2.6を使用しています CREATE SEQUENCEで作成したものを 別のDBに移行したいのですが移行先のDBにもすでに同じ名前のSEQUENCEがあるため まずこれを削除してから移行元のDBのSEQUENCEをIMPORTしようと考えております 質問ですがUSERに作成されたSEQUENCEをEXPORTする方法を教えてください よろしくお願い致します。