はじめに

Verticaは他のDBと同様にAUTO_INCREMENTを利用することで、データに一意の番号を振ることができます。
洗替え処理をしているシステムでは、番号をリセットして、一から採番しなおしたい場合があるかと思います。
今回はその方法をご紹介します。

ALTER SEQUENCE構文

VerticaはAUTO_INCREMENTを設定すると、内部的にシーケンスが作成されます。AUTO INCREMENTの番号は作成されたシーケンスで管理されており、ALTER SEQUENCE文で払い出し番号をリスタートすることにより、リセットすることができます。

構文
ALTER SEQUENCE <シーケンス名> RESTART WITH <値>;

パラメータ
項目説明
シーケンス名該当のシーケンス名を指定
採番時の開始番号
例:「1、2、3・・」と採番したい場合は「1」を指定

注意事項
接続中のセッションでデータ投入した場合は、番号はリセットされません。新しく接続したセッションから、リセットされて採番されます。

実行例

以下の例では、t1テーブルのID列の番号をリセットしています。



検証バージョンについて

この記事の内容はVertica 9.2で確認しています。

更新履歴

2019/04/11 検証バージョンを9.2に変更
2017/04/27 本記事を公開