• 締切済み

oracleのシーケンスについて

misokaの回答

  • misoka
  • ベストアンサー率35% (56/160)
回答No.2

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

参考URL:
http://www.sqlpowerpage.co.jp/Sqlcmd/createsequence.htm
sunnys
質問者

お礼

遅くなりましたが、これ以上待っても他のアドバイスをいただけないようなのでこの辺で締め切らせていただきます。 misokaさん、アドバイスありがとうございました。 勉強になりました。 また何かありましたらよろしくお願いしますね。

sunnys
質問者

補足

こんにちは。回答ありがとうございます。 参考URL拝見しました。大変勉強になりました。 しかし、まさしくその、「次にCACHE要求がある」タイミングが いつなのか、というのを知りたいのです。 また何かわかりましたら教えてください。 宜しくお願いします。

関連するQ&A

  • PL/SQLの文法

    oracle8,windows95を使用しています。 PL/SQLで、シーケンスを削除して再度作成するという処理を書きたいのですが、PL/SQLはまったくの素人のためアドバイスをいただけたら、と思います。 実行したいのは、以下のSQL文です。 1) SQL>DROP SEQUENCE SQC_TEST 2) SQL>CREATE SEQUENCE SQC_TEST INCREMENT BY 1 START WITH 1 MAXVALUE 9999 MINVALUE 1 CYCLE; これを、PL/SQLで実行するにはどうかけばよいでしょうか? CREATE OR REPLACE PROCEDURE HC_CREATE_SEQ BEGIN DROP SEQUENCE SEQ_車両申請 FROM DUAL; CREATE SEQUENCE SQC_TEST INCREMENT BY 1 START WITH 1 MAXVALUE 9999 MINVALUE 1 CYCLE; END; / と書いてみましたがコンパイルに失敗しましたとおこられてしまいます。 ヒントだけでもいただけたら、と思います。 よろしくお願いいたします。

  • シークエンスについて

     1キロベースの断片をシークエンスしているのですが、うまく行かないため、500ベースあたりでもう1本プライマーを作成しシークエンスを行うことになりました。(合計3本のプライマーを使用してます) ここで質問なんですが、最初断片を増やす為にPCRを行いますよね?? その時は3本使ってPCRをおこなうのでしょうか??? そのご、シークエンス反応を行うのですが、その時は3本バラバラで反応をかけるのでしょうか?? 今まではPCR産物にそれぞれF,Rと分けて反応をかけていました。 素人の質問ですみませんが、アドバイスの方よろしくお願いいたします。

  • SQL(Sequence)の問題が分かりません。

    こんにちは。 SQLの学習をしているのですが、Sequenceの問題で解き方が分からないため質問させて頂きます。 問題は以下となります。 A sequence was created with the DDL statement shown below: CREATE SEQUENCE my_seq START WITH 5 INCREMENT BY 5 CACHE 5 User1 successfully executes the following statements in Connection1: VALUES NEXT VALUE FOR my_seq INTO :con1hvar VALUES NEXT VALUE FOR my_seq INTO :con1hvar User2 successfully executes the following statement in Connection2: VALUES NEXT VALUE FOR my_seq INTO :con2hvar After User1 & User2 are finished, User3 executes the following statement in Connection3: SELECT NEXT VALUE FOR my_seq FROM sysibm.sysdummy1 Which value will be returned by the query? A. 20 B. 25 C. 50 D. 55 Answer: D 上記の解き方をご存じの方はご回答お願い致します。

  • CURRVALで絞り込み

    CREATE TABLE CTRL ( NO NUMBER    NOT NULL, DT NUMBER(8,0) NOT NULL ) CREATE SEQUENCE SQ_CTRLNO   START WITH 1   INCREMENT BY 1   NOMAXVALUE   NOMINVALUE   CYCLE; というテーブルがあり、トリガにてNOに自動採番します。 この時、現在の最新行を取得する為にシーケンスのCURRVALにて絞り込みを行いたいのですが、1行でSELECTする方法は無いでしょうか。 エラーにはなりますが、やりたい事は以下の通りです。 SELECT NO,DT FROM CTRL WHERE NO=SQ_CTRLNO.CURRVAL; ちなみにシーケンスはCYCLEなので並べ替えは使えません…。

  • premiere Pro 1.5 について

    すみません次をおおしえください。 (1)premiere pro 1.5 で作成したシーケンスを、一部変更して、尚且つ変更前のシーケンスも残したい。 変更前のシーケンスを確保するために、複製(copy)しておくことが出来るか。その方法? (2)レンダリングした後、クリップに加えていたエフエクトを変更できるか?  よろしくお願いします。

  • oracleのExportシェル作成

    oracle10gを使用しています。 テーブル単位のExportを行うシェルを作成しようと思っております。 テーブルをfilesizeを指定し分割したいのですが、 "エクスポート・ファイル: EXPDAT.DMP >"を検知、新たにファイル名を指定、Enter の書き方がわかりません。お力添え宜しくお願いします。 ファイル名は最初にexp_dump01.dmpを指定し、以降はexp_dump02.dmpと 番号をインクリメントさせたいと思っております。 現在、以下のようなシェルを作成しました。 #!/bin/sh #変数指定 CON='エクスポート・ファイル: expdat.dmp >' RET='エクスポートは警告なしで正常終了しました。' ICOUNT=1 #コマンド実行 expコマンド #結果取得 VAR=`command` #取得結果が次のファイル名を要求している場合 while [VAR=CON] do ファイル名をインクリメントしたものを指定 done #取得結果が正常終了を示した場合 if [VAR = RET] echo 'Exportが終了しました。' fi #次のコマンド実行

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

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

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

    オラクルのSEQUENCEを使いたいのですが 作り方(CREATE文)が分かりません。 また出来上がったSEQUENCEはどのように 使うのでしょうか。

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

    CREATE SQUENCE でSTART WITHを初期値を設定しなかった場合の 初期値についてですが、本で調べたのですが、それぞれ書いてある事が違います。 (1)初期値は1 (2)初期値は、昇順の場合、NOMINVALUE(デフォルト 1)       降順の場合、NOMAXVALUE(デフォルト -1) どっちがただしいですか? 来週試験をうけるので、至急お願いします

  • oracleのsequenceについて

    oracle masterのオラクル入門の勉強をしています。 知識があやふやなので教えてもらいたいのですが、 オブジェクトであるsequenceにアクセスできるのは 作成したユーザーのみ(そのスキーマ内)? or 複数のユーザー(全てのスキーマ内)でも可能? どちらでしょうか? スキーマの名前が変更されているかもしれませんが、 スキーマとユーザーは同じ意味ですよね?