質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • DB2

    63questions

    DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

シーケンスオブジェクトの現在値確認

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,095

a802

score 7

DB2で、シーケンスオブジェクトを使っている場合
そのシーケンスオブジェクトが何番まで採番されているか
確認する方法を教えてください。

具体的にSQL文を書いて頂けると助かります。
よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

DB2 for LUWであれば、以下のSQLで次に割り振られる値が取得できます

SELECT NEXTCACHEFIRSTVALUE FROM SYSCAT.SEQUENCES WHERE SEQNAME = 'シーケンス名'

SYSCAT.SEQUENCES カタログ・ビュー

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/06 06:53

    回答ありがとうございます!
    そのSQLは試してみたのですが、CACHEの値ごとに飛ばされて表示され、上手く表示されないのです。

    例えばスタート値100、増分値1、CACHE20の場合、
    NEXTCACHEFIRSTVALUEに101~120が表示されてほしい時は120が表示され、
    NEXTCACHEFIRSTVALUEに121~140が表示されて欲しい時は140がずっと表示される、
    といったような感じです。

    伝わりますでしょうか・・・?

    この問題の対処方法も教えて頂けると幸いです。
    宜しくお願いします。

    キャンセル

  • 2017/03/06 10:51 編集

    DB2は1回目のNEXT VALUE要求に対して、CACHEで設定された分の連番をまとめてメモリ上にキャッシュします。この時、NEXTCACHEFIRSTVALUEもCACHEの分一度に増加します。2回目以降のNEXT VALUE要求では払い出し済みのキャッシュが使用されますが、そのうちどこまでを実際に使用したかはNEXT VALUEを要求しなければ分かりません。しかし、NEXT VALUEを要求すると番号が新たにひとつ使用済みになってしまいます。PREVIOUS VALUE要求でも、これで確認できるのは1コネクション内で最後にNEXT VALUEで取得した値です。

    本当にどこまで採番されたかをトラッキングする必要がある場合は、CACHEオプションをNO CACHEに変更してください。ALTER SEQUENCEでも変更可能です。NO CACHEであれば、常にNEXTCACHEFRISTVALUE - 1が最後に払い出された番号になります。ただし、NO CHACHEでもNEXT VALUE要求したトランザクションがROLLBACKした場合、払い出された番号は再使用されないため、その部分は歯抜けになります。

    一見不便に見えますが、これらはシーケンスオブジェクトのスループット向上とのトレードオフになっています。これらが許容されない場合は、シーケンスオブジェクト以外の手段(採番用テーブル等)を検討してください。

    シーケンスの設計
    https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_11.1.0/com.ibm.db2.luw.admin.dbobj.doc/doc/t0023352.html

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    setについて

    Python3.4で、「setはユニークなオブジェクトを保持するがlistやtupleのように順番は保持しない」と認識しています。 しかしsetはシーケンス型で、少し調べてみたとこ

  • 解決済

    UMLのアクティビティ図とシーケンス図の違いってなんなんでしょうか?

    UMLのアクティビティ図とシーケンス図の違いってなんでしょうか? 図の見た目は違いますが、やってることの違いを教えて下さい。

  • 解決済

    cakephpで、DB保存時にスキーマなしとエラー

    Postgresのデフォルトスキーマpublicではなく、別のスキーマを利用してます。 仮にPOSTスキーマを利用してるとします。 スキーマ名は大文字です。 saveメソ

  • 解決済

    シーケンス図からコーディング

    現在Java勉強中の者です。 現在UMLをもとにコーディングを行う演習問題に苦戦しております。 どうか皆様のお力をお貸しください!! 宜しくお願いします!! ■①下記シ

  • 解決済

    pythonのfile読み込みについて

    前提・実現したいこと pythonのファイル読み込みについての疑問があります。 インプットファイル First Citizen: We are accounted po

  • 解決済

    a[len(a):] = [x]

    Pythonを公式ドキュメントで勉強中のプログラミング初心者です。以下の文章について質問です。 list.append(x) リストの末尾に要素を一つ追加します。a[len

  • 解決済

    AWS DynamoDB で、オートインクリメント的なことを実現したい

    現在、AWS Dynamodbと、Reactjsを使って、最近はやりのサーバーレスアプリを作っています。 そこで、ブログの記事の投稿機能的なものを実装したく、その記事一つ一つに一意

  • 解決済

    Python3のイテラブルなオブジェクトの定義

     お聞きしたいこと Python3を勉強中なのですが、参考書やWebで「イテラブルなオブジェクト」という表現が出てきます。 イテラブルなオブジェクトの具体的な例として、 list,

同じタグがついた質問を見る

  • DB2

    63questions

    DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。