In oracle, no such data type exist. To achieve the same functionality, you need to create two additional objects: a sequence and a trigger. The trigger will fire on certain events. The sequence will generate a new number. Here is a simple example on how to set it up.
CREATE TABLE ADDRESSES ( ADDRESS_ID NUMBER, EMLOYEE_ID NUMBER, STREET_ADDRESS VARCHAR2(40), STREET_ADDRESS2 VARCHAR2(40), CITY VARCHAR2 (30), STATE VARCHAR2(2), ZIP VARCHAR2(5), ZIP_PLUS VARCHAR2(4), COUNTRY VARCHAR2(20), CONSTRAINT PK_ADDRESSES PRIMARY KEY (ADDRESS_ID)-- "OUT-OF-LINE" CONSTRAINT CREATION ); CREATE SEQUENCE ADDRESSES_SEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 1000000 NOCACHE NOCYCLE NOORDER; CREATE OR REPLACE TRIGGER ADDRESSES_TRG BEFORE INSERT ON ADDRESSES FOR EACH ROW WHEN (NEW.ADDRESS_ID IS NULL) BEGIN SELECT ADDRESSES_SEQ.NEXTVAL INTO :NEW.ADDRESS_ID FROM DUAL; END; /
No comments:
Post a Comment