この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:T
更新日時:2019-03-18 06:50:29

タイトル: シーケンスおよびインクリメント(ID列)の違いと確認方法
SEOタイトル: DB2のシーケンスおよびインクリメント(ID列)の違いとSQLで確認する方法

シーケンスとID列の違い

ID列:テーブルの列に定義するもので、INSERT時に自動で発行されるもの。

シーケンス:シーケンスオブジェクトとしてテーブルとは独立していて、SQLで任意のタイミングで採番されるもの。ID列と違い、テーブルの列に定義するものでもないので、テーブル間で使い回すことも可能。

 

シーケンスの確認方法

SYSCAT.SEQUENCESテーブルにシーケンスの定義が格納されている。

SELECT * FROM SYSCAT.SEQUENCES

 

ID列の確認方法

全ての列定義が格納されているSYSCAT.COLUMNSテーブルのIDENTITY列がYのものがID列。

SELECT * FROM SYSCAT.COLUMNS WHERE IDENTITY = 'Y'

 

※以下、要確認情報なので参考までに

一応、SYSCAT.SEQUENCESにてID列と思われるレコードが確認できる(SEQTYPEがIのもの?)。

なので、ID列はシーケンスの一種と捉えてよいと思われる。