某些时候,需要获取到一个自增值
然后点击左下 Apply
也可以通过SQL语句执行
dual在Oracle中是张虚拟表,通常用于执行这样的查询
Oracle中查询语句: select 序列名.nextval from dual
在高斯数据库中:查询是 select my_sequence.nextval 不需要加form xxx
例如:
Oracle
@Mapper
public interface XxxMapper{
@Select({"select xxxx.nextval from dual"})
String selectXXX();
}
高斯
@Mapper
public interface XxxMapper{
@Select({"select xxxx.nextval"})
String selectXXX();
}
也可以通过sql
CREATE SEQUENCE my_sequence
START WITH 1 -- 初始值为1
INCREMENT BY 1 -- 每次递增1
MINVALUE 1 -- 最小值为1
MAXVALUE 999999999 -- 最大值为999999999
CYCLE; -- 如果达到最大值,重新从最小值开始
ALTER SEQUENCE 序列名 INCREMENT BY 10 MAXVALUE 10000 CYCLE; -- 到10000后从头开始 NOCACHE ;
修改递增值:
ALTER SEQUENCE my_sequence INCREMENT BY 5;
上述语句将名为 my_sequence
的序列的递增值修改为5。这意味着每次调用 NEXTVAL
将递增5。
修改最大值:
ALTER SEQUENCE my_sequence MAXVALUE 1000;
这个语句将名为 my_sequence
的序列的最大值修改为1000。当序列达到1000时,它将不再递增。
修改起始值:
ALTER SEQUENCE my_sequence START WITH 100;
上述语句将名为 my_sequence
的序列的起始值修改为100。下一个生成的值将是100。
修改循环属性:
ALTER SEQUENCE my_sequence CYCLE;
这个语句将名为 my_sequence
的序列设置为循环模式。当序列达到最大值后,它将重新从最小值开始(循环)。
修改缓存属性:
ALTER SEQUENCE my_sequence CACHE 50;
这个语句将名为 my_sequence
的序列的缓存大小修改为50。这表示数据库将缓存50个序列值以提高性能。