通常,會在資料庫 table 的 Primary Key 欄位,用資料庫預設的流水號,
指令為:
CREATE SEQUENCE table_seq;
在塞值時,就會用 table_seq.nextval ,取得該流水號
INSERT INTO table ( index, name, value )
VALUES( table_seq.nextval , ‘fooName’, ‘fooValue' )
但當有需求是,要把新增的這一筆資料,再query出來,秀在畫面時
可以用新增的資料當作查詢條件,把該筆資料查出來
但,不能保證,只會查該筆資料,有可能會有重覆類似的資料查出來
這時,最保險的做法是:如果我能知道,資料庫產生的sequence的值,去做查詢
做法( 以informix為例 ):
//從 systables 查出 流水序號的
String nextValSql =
"SELECT table_seq.nextval FROM systables WHERE tabid=1" ;
int sequence_number = getJdbcTemplate().queryForInt(nextValSql);
記得:流水號的型別是 int