新增Oracle数据库表的序列
CREATE sequence TM_WAYBILL_SEQ minvalue 1 MAXVALUE 10000000000 START WITH 1 increment BY 1 nocache cycle;
修改Oracle数据库的最大序列值
ALTER sequence TM_WAYBILL_SEQ MAXVALUE 10000000000;
删除Oracle数据库的序列
DROP sequence TM_WAYBILL_SEQ;
查询索引序列的当前值(不能是第一次初始化的查询)
SELECT TM_WAYBILL_SEQ.currval FROM DUAL;
增加序列的值,并返回(如果是刚刚建立序列,要先执行下面的语句,才能再使用currval 进行查询)
SELECT TM_WAYBILL_SEQ.nextval FROM DUAL;
修改字段类型(要修改的字段已经存在数据)
-- 这里我是需要把TOTAL_VOLUME字段改成带小数点的,但是因为数据已经存在,所以采用下面的方式进行修改
-- 将原有的字段名变更为临时字段的名
ALTER table TM_WAYBILL rename column TOTAL_VOLUME to TOTAL_VOLUME_TMP;
-- 新增自己需要的字段
ALTER TABLE TM_WAYBILL ADD TOTAL_VOLUME NUMBER(32, 4);
-- 将原有字段的值赋值到新增的字段中
UPDATE TM_WAYBILL SET TOTAL_VOLUME = CAST(TOTAL_VOLUME_TMP AS NUMBER(32, 4));
-- 删除临时字段
ALTER TABLE TM_WAYBILL DROP COLUMN TOTAL_VOLUME_TMP;
这里如果要重置当前的序列值,目前知道的方式只有删除当前的序列重新生成,如果有好的方式,可以留言,谢谢