本文共 1405 字,大约阅读时间需要 4 分钟。
MySQL?Oracle?ID??????????
CREATE SEQUENCE [INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}]; MySQL?Oracle???ID?????????
-- Create sequence create sequence SEQ_T_RECV increment by 1 start with 1 maxvalue 9999999 nomaxvalue nocycle nocache;
1) INCREMENT BY?Oracle????1??MySQL??????1
2) START WITH?Oracle?????????MySQL??????1
3) MAXVALUE?MINVALUE????Oracle?????????
4) CYCLE?NOCYCLE???Oracle????????????
5) CACHE???Oracle???????????
????????????
-- Create table create table RECV_MSG ( id NUMBER, messageid VARCHAR2(32), contents VARCHAR2(2000), app_flg VARCHAR2(100), phonenumber VARCHAR2(2000), updatetime DATE default sysdate );
CREATE OR REPLACE TRIGGER "recv_trig" BEFORE INSERT ON recv_msg REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW DECLARE BEGIN SELECT SEQ_T_RECV.NEXTVAL INTO :NEW.ID FROM DUAL; END recv_trig;
???????????????
insert into test values(seq_on_test.nextval,'Mary',15); insert into test values(seq_on_test.nextval,'Tom',16);
???????????
select * from test; -- /* 1 Mary 15 2 Tom 16 */
????????
select seq_on_test.currval from dual; select seq_on_test.nextval from dual; -- /* 2 3 */
[????](https://www.cnblogs.com/0201zcr/p/4681780.html)