oracle 新增sequence時通過其查詢表或者sequence來確定start with的值

項目使用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;







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章