0

大家好,我希望在下表中创建一个自动增量,使用 GUEST_ID 作为将增加的列。

CREATE TABLE "HOTEL_BOOKINGS"."GUEST" (
    "GUEST_ID" NUMBER, 
    "LASTNAME" VARCHAR2(100 BYTE),
    "FIRSTNAME" VARCHAR2(100 BYTE), 
    "ADDRESS" VARCHAR2(255 BYTE),
    "TOWN" VARCHAR2(100 BYTE),
    "PHONE" NUMBER,
    "POSTCODE" VARCHAR2(10 BYTE),
    "EMAIL" VARCHAR2(255 BYTE)  
);

我已经尝试了几乎所有方法来完成这项工作,如果这是一个新手问题,我再次感到抱歉,但我需要明天提交课程作业

4

1 回答 1

0

Oracle 没有自动增量属性,但您可以使用序列和ON INSERT触发器来利用其值:

CREATE SEQUENCE hotel_bookings_seq 
START WITH 1
INCREMENT BY 1
NOMAXVALUE;

CREATE TRIGGER hotel_bookings_tr
BEFORE INSERT ON hotel_bookings
FOR EACH ROW
BEGIN
    SELECT hotel_bookings_seq.nextval INTO :new.guest_id FROM dual;
END;
/
于 2013-11-07T20:34:15.410 回答