H2 Database EngineのIDENTITY使用時に作られるシーケンス名について
はじめに
先日職場で「H2 Database EngineのIDENTITYで作られたシーケンスの名前が分からないのだが」という話題があったのでメモ。
環境
- H2 Version 1.3.168 (2012-07-13)
シーケンス名の調べ方
以下のSQLを実行するとテーブル定義を参照することができます。
そうすると、シーケンス名も分かります。
SELECT SQL FROM INFORMATION_SCHEMA.TABLES
たとえば、以下のSQLでテーブルを作ったとしましょう。
CREATE TABLE EMP ( ID Integer IDENTITY , NAME VARCHAR , primary key( ID ) );
INFORMATION_SCHEMA.TABLES には、以下の定義で格納されていたりします。
CREATE CACHED TABLE PUBLIC.EMP( ID INTEGER DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_E700A7E6_D2D9_4890_84F8_C2978859AE24) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_E700A7E6_D2D9_4890_84F8_C2978859AE24, NAME VARCHAR )
さいごに
ちょっとしたメモでした。
調べてみないとわからないよね、こういうの。