用習慣了MySQL突然轉到Oracle確實很不習慣
首先MySQL主鍵可以設置自增,但是在Oracle中並沒有主鍵自增
Oracle沒有主鍵自增但是可以通過另一種辦法來實現,讓主鍵自增
首先設置序列
在plsql界面的左邊有一個窗口顯示的是一些類似文件夾的東西:
找到Sequences,右鍵新建
我這是中文的,就不多說了,其中所有者就是哪一個賬號
一般開始於1,增量也一般是1,名字看你個人愛好,最小值一般也是1,最大值我一般都設的好多9,防止不夠用,高速緩存這個我還不是很明白,默認是20,據說是可以提高速度,不清楚,循環我也沒試過,我個人理解就是超過了最大值就開始循環,排序這個貌似沒什麼用可能我用錯了
填完點下面那一排有一個應用按鈕,這就設置好了一個序列了
第二步就是設置觸發器
同樣在那些文檔一樣的地方找到Triggers:
同樣也是新建
第一行是觸發器名字
第二行是觸發時機,語句執行前還是執行後before是之前
第三行是什麼時候觸發,比如insert的時候觸發
第四行是關聯表
第五行什麼等級我也忘了,我一直選默認
然後確定
確定後的畫面:
馬賽克是進來後系統會幫你寫好的,第一個和最後一個是觸發器名稱,第二個是關聯表,我這選的是insert之前觸發,在第二行有顯示,然後在begin下面書寫語句
比如你要讓a表的id自增:
SELECT 序列名.NEXTVAL into :new.id from dual;
序列名.NEXTVAL這個好像是當前序列的下一個!
序列名就是你在前面創建的那個!
應該很清楚了爲什麼是from dual我就不清楚了!我也剛接觸Oracle!
寫完後按F8鍵!搞定,以後插入數據的時候可以不管主鍵了!
希望知道的大牛指點一二!謝謝