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會自動調用該觸發器 更具序列 往后自增