[解決済み] オラクルシーケンスをインクリメントせずに現在値を取得する方法は?
2022-03-10 10:33:13
質問
シーケンスの値をインクリメントせずに取得するSQL命令はありますか?
ありがとうございます。
編集・結語
Justin Cave氏が述べているように、シーケンス番号の保存は有用ではありません。
select a_seq.nextval from dual;
は、シーケンス値をチェックするには十分です。
私は、オリーの回答が最初の質問に答えているので、まだ良い方だと思います。しかし、シーケンスを変更しない必要性について自問してみてください。
どのように解決するのですか?
SELECT last_number
FROM all_sequences
WHERE sequence_owner = '<sequence owner>'
AND sequence_name = '<sequence_name>';
からは、様々なシーケンスのメタデータを取得することができます。
user_sequences
,
all_sequences
と
dba_sequences
.
これらのビューはセッションをまたいで機能します。
EDITです。
もし、そのシーケンスがデフォルトスキーマにあるならば。
SELECT last_number
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
その時、すべてのメタデータが欲しいのであれば。
SELECT *
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
お役に立てれば幸いです...。
EDIT2です。
キャッシュサイズが1でない場合、より確実に行うための長ったらしい方法としては、以下のようなものがあります。
SELECT increment_by I
FROM user_sequences
WHERE sequence_name = 'SEQ';
I
-------
1
SELECT seq.nextval S
FROM dual;
S
-------
1234
-- Set the sequence to decrement by
-- the same as its original increment
ALTER SEQUENCE seq
INCREMENT BY -1;
Sequence altered.
SELECT seq.nextval S
FROM dual;
S
-------
1233
-- Reset the sequence to its original increment
ALTER SEQUENCE seq
INCREMENT BY 1;
Sequence altered.
ただ、この間に他の人がシークエンスを使用していると、その人(またはあなた)に
ORA-08004: sequence SEQ.NEXTVAL goes below the sequences MINVALUE and cannot be instantiated
また、キャッシュを
NOCACHE
をリセットする前に、そしてリセット後に元の値に戻して、多くの値をキャッシュしていないことを確認します。
関連
-
[解決済み】SQLクエリ「00904. 00000 - "%s: 無効な識別子"
-
[解決済み] 3を挿入すると「ORA-01438: この列で許容される指定精度より大きい値」と表示される。
-
[解決済み] テスト
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み】Oracleクエリが順序付け後に返す行数を制限するにはどうすればいいですか?
-
[解決済み】OracleでAUTO_INCREMENTでidを作成する方法は?
-
[解決済み] Oracleでシーケンスをリセットするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】使用されるSELECT文は列の数が異なる(REDUX!)
-
[解決済み] データ型 varchar の変換エラー
-
[解決済み] SQL Server - 'RETURN'付近の、条件が想定されるコンテキストで指定された、非ブール型の式。
-
[解決済み] Varchar は Sum 演算子では無効です。
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] FROM のサブクエリにはエイリアスが必要です。
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] 時間を時間単位や10分単位でグループ化する方法
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)