鍓嶆彁錛?/P>CREATE TABLE Booking (
id INTEGER NOT NULL,
date_made DATE,
reserved_until TIMESTAMP,
price DECIMAL(15, 2) NOT NULL,
Purchase_id INTEGER,
PRIMARY KEY(id))
create sequence booking_seq
start with 1
increment by 1
nomaxvalue;
鏂規硶涓錛?BR>鍒╃敤Spring鐨刼rg.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer
OracleSequenceMaxValueIncrementer incr =
new OracleSequenceMaxValueIncrementer(dataSource, "booking_seq");
public int getNewBookingId() {
return incr.nextIntValue();
}
閽堝涓嶅悓鐨勬暟鎹簱Spring鎻愪緵浜嗕笉鍚岀殑鏀寔綾匯?/PRE>鏂規硶浜岋細浣跨敤鏁版嵁搴撴湰韜殑瑙﹀彂鍣?/PRE>CREATE OR REPLACE TRIGGER tib_booking BEFORE INSERT
ON BOOKING FOR EACH ROW
DECLARE
integrity_error EXCEPTION;
errno INTEGER;
errmsg CHAR(200);
dummy INTEGER;
FOUND BOOLEAN;
BEGIN
-- Column "ID" uses sequence booking_seq
SELECT booking_seq.NEXTVAL INTO :NEW.ID FROM dual;
-- Errors handling
EXCEPTION
WHEN integrity_error THEN
RAISE_APPLICATION_ERROR(errno, errmsg);
END;
嫻嬭瘯錛?/STRONG>
INSERT INTO BOOKING(date_made,price) VALUES(SYSDATE,22222);
COMMIT;

]]>