Navicat 如何創建序列?


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;

新建一個查詢,將代碼復制到查詢窗口,點擊“運行”;

如果沒有報錯信息,說明該觸發器創建成功並且編譯成功。

通過上述兩步,實現在向表中插入數據前自動插入自增長的序列。

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM