我想在Apache Derby 10.7中使用SEQUENCE支持。我創建了序列用下面的語句:如何在Apache Derby中使用SEQUENCE?
CREATE SEQUENCE SAMPLE_SEQ AS INT MAXVALUE 999999 CYCLE;
如何可以選擇從下一SAMPLE_SEQ
/電流值?你能幫我解決這個問題嗎?
我想在Apache Derby 10.7中使用SEQUENCE支持。我創建了序列用下面的語句:如何在Apache Derby中使用SEQUENCE?
CREATE SEQUENCE SAMPLE_SEQ AS INT MAXVALUE 999999 CYCLE;
如何可以選擇從下一SAMPLE_SEQ
/電流值?你能幫我解決這個問題嗎?
使用NEXT VALUE FOR作爲記錄在手冊中:
http://db.apache.org/derby/docs/10.7/ref/rrefsqljnextvaluefor.html#rrefsqljnextvaluefor
要獲取的當前值應執行以下SQL的順序:
SELECT CURRENTVALUE FROM SYS.SYSSEQUENCES WHERE SEQUENCENAME='SAMPLE_SEQ'
這不是當前值。 – 2014-07-12 09:09:21
在SQL命令提示符下,你可以用這個語句查詢下一個值:
values NEXT VALUE FOR <sequence_name>
這將作爲嵌入到一個INSERT語句表達工作。例如:
INSERT INTO <table_name> (IDFIELD) VALUES (NEXT VALUE FOR <sequence_name>)
如果你想從 '序' 取 '當前值':
在使用JDBC的Java中相同:
ResultSet rs = conn.prepareStatement("values (next value for <sequence>)").executeQuery();
rs.next();
int seqValue = rs.getInt(1);
德比抱怨您建議的查詢。它不喜歡查詢的過早結束(EOF)。對我有用的是'VALUEES SAMPLE_SEQ'的價值 – 2011-04-20 11:26:54
@pregzt - 這是我關心的 - 我沒有找到一個查詢的實際例子來從一個序列中獲得單個值 - 這個片段被用在*裏面*更多複雜的查詢... – 2011-04-20 12:57:03