1.情景展示
如何使用Navicat為Oracle數據庫創建序列?
2.方式一
打開Navicat--》打開Oracle連接;
工具欄--》其它--》序列;
將會打開序列界面--》右鍵--》新建序列;
遞增:1,開始值:1,最小:1,最大:9999999999999999999;
按Ctrl+s進行保存,並設置序列的名稱,通常,它的構成是:SEQ_表名。
保存成功
3.方式二
通過SQL創建序列
CREATE SEQUENCE SEQ_META_DATABASE
minvalue 1
maxvalue 9999999999999999999
INCREMENT BY 1
START WITH 1;
新建查詢,將以上代碼粘貼進去,點擊“運行”即可。
4.拓展延伸
我們知道:在mysql中,當將表的主鍵設置成自增列后,在后續,往表中插入數據的時候,如果我們主動給主鍵列插入值的話,mysql就會使用自增列,為其自動添加值。
在Oracle當中,我們是不是也可以搞成這樣的效果?即:
當我們手動插入數據的時候,如果沒有給主鍵設值的話,也讓數據庫默認取調用序列並將值插入表主鍵。
答案是可以的:通過序列和觸發器來實現。
第一步:按照上面,給表創建序列;
第二步:設置對應表中字段主鍵字段的觸發器。
CREATE
OR REPLACE TRIGGER 觸發器名稱 BEFORE INSERT ON 表名 FOR EACH ROW
WHEN ( NEW.表主鍵列 IS NULL ) BEGIN
SELECT
表對應的序列.NEXTVAL INTO :NEW.表主鍵列
FROM
DUAL;
END;
新建一個查詢,將代碼復制到查詢窗口,點擊“運行”;
如果沒有報錯信息,說明該觸發器創建成功並且編譯成功。
通過上述兩步,實現在向表中插入數據前自動插入自增長的序列。
寫在最后
哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!