oracle 和mysql不同,没有自增主键,需要自己定义主键
可以使用mybatisplus的UUID工具根据自己要求生成主键
mybatisPlus官方文档说明
UUid有个弊端就是太长的话,不利于索引的建立,会影响查询效率
使用序列也有两种方式
比如我之前这篇文章
sql
CREATE TABLE rec_supplement_record (
ID NUMBER(10) PRIMARY KEY,
patient_id VARCHAR2(255) NOT NULL,
visit_no VARCHAR2(255) NOT NULL,
doc_type VARCHAR2(255) NOT NULL,
supplement_send_id NUMBER(10) NOT NULL,
supplement_send_name VARCHAR2(255) NOT NULL,
supplement_receive_id NUMBER(10),
supplement_receive_name VARCHAR2(255),
supplement_receive_time Date,
supplement_send_reason VARCHAR2(400)
);
CREATE SEQUENCE rec_supplement_record_seq
START WITH 1
INCREMENT BY 1
MAXVALUE 999999999999999999999999999
NOCYCLE
NOCACHE;
CREATE OR REPLACE TRIGGER rec_supplement_record_trg
BEFORE INSERT ON rec_supplement_record
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT rec_supplement_record_seq.NEXTVAL INTO :NEW.ID FROM dual;
END;
这样的话,很像mysql的自增主键的形式,每次插入数据时不需要定义主键,即可自动生成
本文作者:Weee
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!