oracle添加數據時主鍵自動增長


CREATE TABLE STUDENT( --創建學生表
  ID NUMBER(10) PRIMARY KEY,   --主鍵ID
  SNAME VARCHAR2(20),

);

此時給學生表添加數據時 必須指定id

INSERT INTO STUDENT VALUES(1,'Tom');

下面用觸發器和序列結合使得添加數據時id自動增長 不要指定了 

--創建序列
CREATE SEQUENCE SEQ_STU
INCREMENT BY 1  ID每次自增幾
START WITH 1 ID從幾開始自增
MAXVALUE 99999 ID的最大值
MINVALUE 1; ID的最小值


--創建觸發器  添加數據的時候id自增
CREATE OR REPLACE TRIGGER TIGGER_STU
BEFORE
  INSERT ON STUDENT
  FOR EACH ROW
  WHEN(NEW.ID IS NULL)
BEGIN
    SELECT SEQ_STU.NEXTVAL INTO:NEW.ID FROM DUAL;
END;

觸發器創建好之后就可以這樣添加數據了

INSERT INTO STUDENT VALUES(null,'Tom');

ID可以為空  添加到數據庫時  oracle會自動調用該觸發器  更具序列  往后自增


免責聲明!

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



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