gpt4 book ai didi

sql - Oracle - 如何使varchar类型的自动增量列?

转载 作者:行者123 更新时间:2023-12-02 21:28:08 24 4
gpt4 key购买 nike

在我的 Oracle 11g 作业中,我被要求制作一个具有以下结构的列的表:

    [NL|TE|][0-9]^10

其中INSERT行时输入NL或TE,[0-9]^10为自增10位数字。示例:

    NL1234567890 or TE0253627576

当插入时,用户应该只写:

    INSERT INTO TableA VALUES ('NL');

DBMS 负责剩下的事情。那么我该怎么做呢?我在这方面还是个新手。

最佳答案

CREATE SEQUENCE your_seq;
/

CREATE OR REPLACE TRIGGER your_tablename_BI
BEFORE INSERT
ON your_tablename
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
:NEW.your_col := :NEW.your_col || trim(to_char(your_seq.nextval, '0000000000'));

END your_tablename_BI;
/

关于sql - Oracle - 如何使varchar类型的自动增量列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23012789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com