【问题标题】:How to create id with AUTO_INCREMENT and Text on Oracle 10g?如何在 Oracle 10g 上使用 AUTO_INCREMENT 和 Text 创建 id?
【发布时间】:2024-01-06 10:31:01
【问题描述】:

目前有一个序列和触发器设置,我想在自动递增的数字之前添加文本,即当我插入一条新记录时,数字本身会出现,我想为我的 id 设置一个文本和唯一的变量作为自动增量。

创建序列 Student_sequence

MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 20;

触发代码:

clear_form;
SELECT Student_sequence.NEXTVAL
INTO :Students.StudentID
FROM DUAL;

无论如何要在自动递增的数字前面获得“STU”?

【问题讨论】:

    标签: forms plsql oracle10g sequence auto-increment


    【解决方案1】:

    只要students.studentID 是字符字段而不是数字,那么下面的应该可以工作。

    SELECT 'STU' || Student_sequence.NEXTVAL
    INTO :Students.StudentID
    FROM DUAL;
    

    【讨论】:

    • 非常感谢,最终不得不声明新变量来保存数字,然后将数字增量转换为 char 以一起显示文本。