最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle重置序列從0開始遞增1

 更新時間:2022年02月25日 14:13:24   作者:.NET開發(fā)菜鳥  
這篇文章介紹了oracle重置序列的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

oracle序列創(chuàng)建以后,如果想重置序列從 0 開始,逐漸遞增1,可以采用如下存儲過程:

create or replace
procedure reset_seq( p_seq_name in varchar2 )
is
    l_val number;
begin
    execute immediate
    'select ' || p_seq_name || '.nextval from dual' INTO l_val;

    execute immediate
    'alter sequence ' || p_seq_name || ' increment by -' || l_val ||
                                                          ' minvalue 0';

    execute immediate
    'select ' || p_seq_name || '.nextval from dual' INTO l_val;

    execute immediate
    'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
end;

存儲過程創(chuàng)建以后,調(diào)用該存儲過程,參數(shù)是要重置的序列名稱:

call reset_seq(‘test_seq’);

使用下面的SQL語句查詢需要重置的序列:

SELECT  a.sequence_name 序列名稱,
a.min_value 序列最小值,
to_char(to_number( a.max_value)) 序列最大值,
a.last_number 序列當前值,
CASE  a.last_number WHEN 1 THEN '--不需要重置;' ELSE
'CALL seq_reset(''' || a.sequence_name || ''');' END 重置序列腳本,
'DROP SEQUENCE ' || a.sequence_name 刪除序列腳本,
'RENAME ' || a.sequence_name || ' TO {newname}'  重命名腳本
FROM USER_SEQUENCES a WHERE a.last_number<>1
ORDER BY a.sequence_name ASC;

到此這篇關(guān)于oracle重置序列的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

新宾| 锡林郭勒盟| 台北县| 漳浦县| 彩票| 南漳县| 漯河市| 河东区| 宿迁市| 珲春市| 惠来县| 湟源县| 广水市| 白朗县| 太仆寺旗| 高青县| 绥棱县| 洛浦县| 浦县| 大荔县| 息烽县| 大埔区| 南漳县| 西乌珠穆沁旗| 台山市| 车险| 桂林市| 福建省| 乌兰浩特市| 福泉市| 高州市| 靖州| 东方市| 茶陵县| 延吉市| 通许县| 柳河县| 从江县| 常山县| 鄱阳县| 凌云县|