实现字符主键自增

--表结构
create table REGISTER_TEST
(
  patient_name VARCHAR2(20) not null,
  sex          VARCHAR2(1) not null,
  birthdate    DATE not null,
  phone        CHAR(11) not null,
  indate       DATE not null,
  patient_id   VARCHAR2(20) not null,
  id_no        VARCHAR2(20) not null
)
--创建一个序列
create sequence registerID_seq 
start with 0            
increment by 1        
minvalue 1                 
nomaxvalue                
nocache                 
nocycle                    
;
--创建触发器
create or replace trigger register_trigger
before insert on register_test 
for each row 
DECLARE
NEXT_ID NUMBER;
begin 
  select registerID_seq.nextval into next_id from dual;
  :new.patient_id := 'T'||to_char(next_id); --:new 代表即将插入的记录
end;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容