oracle中怎么创建字母加数字的序列?求大神解答

2024年11月30日 09:48
有2个网友回答
网友(1):

CREATE TABLE TEST_SEQNO (
SEQNO VARCHAR(10) PRIMARY KEY,
VALVARCHAR(20)
);

使用 序列号 + 触发器 组合来完成。

-- 序列号
CREATE SEQUENCE seq_testno
increment by 1 -- 每次递增1
start with 1 -- 从1开始
nomaxvalue -- 没有最大值
minvalue 1 -- 最小值=1
NOCYCLE;

-- 触发器.
CREATE OR REPLACE TRIGGER tr_test_seqno
BEFORE INSERT ON TEST_SEQNO
FOR EACH ROW
BEGIN
SELECT
'TB' || TRIM(TO_CHAR(seq_testno.nextval, '000')) INTO :new.SEQNO
FROM
dual;
END;
/

网友(2):

SELECT 'TB'||lpad(rownum,3,'0') FROM a