oracle 新增sequence时通过其查询表或者sequence来确定start with的值

来源:互联网 发布:java单例模式好处 编辑:程序博客网 时间:2024/06/13 00:20

项目使用oracle作为数据库,最初时多个表共用了一个sequence来生产主键,后来需要改造为一个表一个sequence。为了不对历史数据修改,需要根据每个表现在的主键值来确定新建的sequence的start with值。比如需要为user_表新增一个名为seq_user的sequence,而user_表的主键为user_id_,那么语法如下:

BEGINdeclare max_val number;BEGINselect max(user_id_) into max_val from user_;execute immediate('CREATE sequence seq_user minvalue 1 maxvalue 999999999999 start with '||max_val||' increment by 1 cache 50 ');END;END;






原创粉丝点击