Хүснэгт дээр анхдагч түлхүүр тохируулах

Oracle database 11g-н хувьд:

За эхлээд хүснэгтээ үүсгье.

CREATE TABLE TEST
(
  ID           NUMBER(10)    NOT NULL,
  DESC     VARCHAR2(50)  NOT NULL
);

2-р алхам: Тухайн хүснэгт дэх анхдагч түлхүүр болох баганаа тодорхойлно.

ALTER TABLE TEST ADD 
(
  CONSTRAINT test_pk PRIMARY KEY (ID)
);

3-р алхам: SEQUENCE-ээ үүсгэнэ.

CREATE SEQUENCE test_seq START WITH 1;

4-р алхам: Дээрх үүсгэсэн хүснэгт болон sequence-ээ trigger ашиглан доорх байдлаар холбож өгнө.

CREATE OR REPLACE TRIGGER test_bir 
BEFORE INSERT ON TEST 
FOR EACH ROW
BEGIN
  SELECT test_seq.NEXTVAL
  INTO   :new.id
  FROM   dual;
END;
/

Ингээд анхдагч түлхүүрийг тохируулж дууслаа.

Харин Oracle Database 12c-н хувьд:

CREATE TABLE test (
    ID          NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1), 
    DESCR   VARCHAR2(10)
);
1 Like