ในกรณีที่เราทำการ Create Table แล้วต้องการกำหนด Auto Incremental บน Oracle จะไม่เหมือนกับ Database ทั่ว ๆ ไป อย่าง MySQL หรือ SQL Server ที่แค่เลือก Checkbox ก็เสร็จแล้ว แต่บน Oracle จะต้องสร้าง Sequence เพื่อใช้บอกลำดับ ร่วมกับ Trigger ในการดัก Event Insert แล้วทำการหา Next Value ของ Sequence
Get Started
- ทำการ Create Table
SQL> CREATE TABLE DEPARTMENT (
DEPARTMENT_ID NUMBER(4) NOT NULL,
DEPARTMENT_NAME VARCHAR2(20),
CONSTRAINT dept_pk PRIMARY KEY(DEPARTMENT_ID)
);
- ทำการ Create Sequence
SQL> CREATE SEQUENCE dept_seq START WITH 1;
- ทำการ Create Trigger
SQL> CREATE OR REPLACE TRIGGER dept_trig
BEFORE INSERT ON DEPARTMENT
FOR EACH ROW
BEGIN
SELECT dept_seq.nextval
INTO :new.DEPARTMENT_ID
FROM dual;
END;
อ่านเพิ่มเติม : https://bit.ly/3a8Wmxh
Tagged: PL/SQL
Leave a Reply