例如,在PostgreSQL中,我可以编写以下行来增加序列并获取当前值:
SELECT nextval('sequence');
SELECT currval('sequence');
在MonetDB中,我知道如何编写第一行:
SELECT NEXT VALUE FOR "sequence";
如何写第二行?
答案 0 :(得分:1)
您可以使用get_value_for
。这是一个例子:
CREATE SEQUENCE "seq1" AS INTEGER START WITH 42;
SELECT next_value_for('sys','seq1'); -- returns 42 and increments seq1
SELECT get_value_for('sys','seq1'); -- returns 43
SELECT get_value_for('sys','seq1'); -- returns 43 again
请注意seq1
周围的不同引号,这是必需的。此外,您需要将模式名称传递给函数。在这种情况下,它是sys
。