oracle中如何创建字母加数字的序列

oracle中怎么创建字母加数字的序列

如:TB001,TB002,TB003......TB010......TB100......。后面的数字是有范围的

 

CREATEoracle中如何创建字母加数字的序列 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;
/

 

 

转载:http://zhidao.baidu.com/link?url=0Ck2GFDRn2B1143XvaJKtD4ipPOvGxcoQTbsMFhIcZH0PbB6tpP79R_JVT5q8aUtrVKsoGsef65cdfEMFEMUFq