2011-04-20 103 views

回答

8

Apache Derby的醫生說:Use a NEXT VALUE FOR expression

應該像

SELECT NEXT VALUE FOR SAMPLE_SEQ; 
+9

德比抱怨您建議的查詢。它不喜歡查詢的過早結束(EOF)。對我有用的是'VALUEES SAMPLE_SEQ'的價值 – 2011-04-20 11:26:54

+0

@pregzt - 這是我關心的 - 我沒有找到一個查詢的實際例子來從一個序列中獲得單個值 - 這個片段被用在*裏面*更多複雜的查詢... – 2011-04-20 12:57:03

1

要獲取的當前值應執行以下SQL的順序:

SELECT CURRENTVALUE FROM SYS.SYSSEQUENCES WHERE SEQUENCENAME='SAMPLE_SEQ' 
+0

這不是當前值。 – 2014-07-12 09:09:21

0

在SQL命令提示符下,你可以用這個語句查詢下一個值:

values NEXT VALUE FOR <sequence_name> 

這將作爲嵌入到一個INSERT語句表達工作。例如:

INSERT INTO <table_name> (IDFIELD) VALUES (NEXT VALUE FOR <sequence_name>) 
0

如果你想從 '序' 取 '當前值':

  • 值(未來值< 序列>)

在使用JDBC的Java中相同:

ResultSet rs = conn.prepareStatement("values (next value for <sequence>)").executeQuery(); 
rs.next(); 
int seqValue = rs.getInt(1); 

來源: Derby-user-mailing list archive