タイトル: シーケンスおよびインクリメント(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列はシーケンスの一種と捉えてよいと思われる。