![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
DROP SEQUENCEしてCREATE SEQUENCEは避けたい
→理由はNo2の方がおっしゃっているようにinvalidが付く
可能性があるからでしょうか?
どちらにしろ完全に業務が停止しているときにやらないと
非常に危険ですので、あまりALTERはオススメしませんが
権限など何か他の理由などでDROP,CREATEができないのであれば
1.
select TEST_SEQ.currval from dual;
100
2.
ALTER SEQUENCE TEST_SEQ MAXVALUE 100 CYCLE;
これでもし万が一、1個目のSQLと2個目のSQLの間に誰かが
シーケンスを更新したとしても2個目のSQLはエラーになってくれるはずです。
(2のSQL実行後、現在のシーケンス値が1に戻ったのを確認したら
必要に応じてCYCLEはNOCYCLEに直して置いてくださいね。)
なるほど、そうですねえ。
サイクリックのMAX値をカレント値にすれば戻りますもんねえ。
現在すでにCYCLE指定なんですが
MAXVALUEを一時的に替えて1に戻します。
ほんとうにありがとうございました。
No.2
- 回答日時:
alter sequence TEST_SEQ increment -10 nocache;
select TEST_SEQ.nextval from dual;
alter sequence TEST_SEQ increment 1 cache 20;
のように、一時的に増分値を負の数に変更することで、カレントを戻すことが可能です。
drop and createの場合、依存オブジェクトがinvalidになりますが、alterを使った手法の場合
invalidになりません。
ただし、シーケンスのリセットを行う場合、シーケンスを誰も利用しないタイミングでないと
値をコントロールするのが難しいです。
ありがとうございます。
increment by でマイナス値とは思いもつきませんでした。
いろんな手法があるんですねえ。
はいサービス外時間に行なうことにします。
No.1
- 回答日時:
シーケンスを1に戻す方法はありません。
必ず、DROP,CREATEが必要です。
Oracleのサポートに加入すれば見れるオフィシャルなページでも
明文化されています。残念ですがおあきらめください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 中学校 連立方程式なのですが。回答の順序を教えてください。 1 2022/09/18 17:52
- gooポイント gooポイントをdポイントに交換できない。 3 2022/04/22 20:39
- 数学 前順序集合についての違和感なんですが、全順序と違ってすべての要素の間に順序があるわけではないですよね 3 2022/08/09 00:05
- Visual Basic(VBA) Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。 3 2023/03/19 18:31
- 据え置き型ゲーム機 PS4コントローラのリセット確認方法 1 2022/10/01 10:57
- 数学 順序集合における「反射律」の役割について 9 2022/05/09 23:01
- 数学 複素関数にロピタルの定理を使おうとしている回答者は、複素関数論はおろか微積分学もよく分かっていない、 5 2022/12/28 18:02
- 神社・寺院 貴船神社にお参りしようと考えている時に以下のようなサイトを見ました。 どうやら参拝の基本は本宮、奥宮 2 2022/06/26 20:53
- ポイントサービス・マイル dポイントカードを持ってコンビニに行き、dポイントで買い物をする時に・・・ 1 2022/07/01 21:25
- 食生活・栄養管理 食後血糖値を上げないために「野菜」を先に食べるということについて、専門家の方教えてください。 1 2023/01/13 11:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ODBCリンクの際にACCESSでは読...
-
「セットアップはシステム管理...
-
Oracle TNSプロトコルエラーに...
-
ポリスとシェリフの違い 及び...
-
Flashback Tableで必要な権限
-
同一SQLでも実行ユーザによりカ...
-
Oracleでオブジェクト権限を調...
-
Accessのマクロでモジュールを...
-
Accessの数値から時間に変換す...
-
yyyy/M/dをyyyy/MM/ddに変換
-
Google Apps Script、onChange...
-
Access VBAで行ラベルが定義さ...
-
重複するIDのデータを1行にま...
-
エクセルVBAでUserFormを起動し...
-
SQL Sever での日付の差の求め...
-
Excel2000 セルデータ検索ウィ...
-
Excelの並べ替え後のデータを日...
-
ACCESSのVBAでCSVを取込処理に...
-
日付型カラムへのデータINSERT
-
日付時刻+連番の主キーをSQLだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Statement ignored というエラー
-
ODBCリンクの際にACCESSでは読...
-
会社の〇〇部と〇〇課の違いっ...
-
別のスキーマのテーブルアップ...
-
権限で「委任」「専決」とあり...
-
異なるスキーマのビューを元に...
-
Oracle 10g 他スキーマの参照権...
-
DBMS_LOCK.SLEEPについて
-
トリガーにてビューを作成しよ...
-
テーブル権限確認
-
Poweruser権限でのIPアドレス変...
-
支配人の代理権
-
Oracle 10gで順序sequenceの作...
-
「セットアップはシステム管理...
-
Oracleでオブジェクト権限を調...
-
roleの権限確認方法
-
ストアドプロシジャで、TRUNCAT...
-
「バッチジョブとしてログオン...
-
oracleユーザーの権限確認方法...
-
参照権限の付与方法
おすすめ情報