您的位置:首页 > 数据库 > Oracle

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

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

BEGIN
declare max_val number;
BEGIN
select 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;


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息