本人是个新手,大佬们多多关照!
目前在学习oracle数据库,现在简单的使用触发器来生成字符串自增长编号('zd20183290001');
-- 1. 首先创建一个用户表:TEST_USER;字段:ID,NAME
DROP TABLE TEST_USER;
CREATE TABLE test_user (
ID VARCHAR (20) PRIMARY KEY,
NAME VARCHAR (20)
);
-- 2.创建序列
-- DROP SEQUENCE seq_user1;
CREATE SEQUENCE seq_user1 INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE;-- 不建缓冲区;
-- 3.创建触发器
CREATE OR REPLACE TRIGGER tt_seq BEFORE INSERT ON TEST_USER FOR EACH ROW
BEGINSELECT
'ZD' || TO_CHAR (SYSDATE, 'YYYYMM') || TRIM (
TO_CHAR ( seq_user1.nextval, '000')
) INTO: NEW.ID
FROM dual;END;
--4.插入数据
insert into TEST_USER(name) values('aaa');
insert into TEST_USER(name) values('aaa');
insert into TEST_USER(name) values('aaa');
insert into TEST_USER(name) values('aaa');
insert into TEST_USER(name) values('aaa');
commit
--5.结果