使用带有附加自动递增编号的当前 DATE 创建 ID

Create ID using current DATE with additional auto increment number

本文关键字:编号 DATE ID 创建      更新时间:2023-09-26

>我在为表单生成ID时遇到了问题。我目前正在使用ASP Classic和Oracle。我需要创建具有当前日期和 2 个附加数字的 ID例如:按顺序yyyymmdd +自动递增数(2015031601、2015031602)。

到目前为止,我只能在表单中返回使用Javascript函数创建的随机数Math.random()当前日期值。但是,ID 实际上需要按顺序具有自动递增编号。

当前日期的代码和随机数的数学随机数:

    var date = new Date();
    var todaydate= date.getDate();
    var todaymon= date.getMonth()+1;
    var todayyear= date.getFullYear();
    var q=todayyear; 
    if(todaymon<=9)
    {
        var y= "0"+todaymon;
    }
    else
        var y= todaymon;
    if(todaydate<=9)
    {
        var z="0"+todaydate;
    }
    else
        var z=todaydate; 
    var k = Math.floor((Math.random() * 20) + 01);
</script>
<script language="JavaScript">
    document.getElementById('ID').value = q+y+z+k;
</script>

创建 ORACLE 序列

CREATE SEQUENCE table_name_seq;

并在插入前触发器中提供 ID

CREATE TRIGGER table_name_BRI ON table_name
BEFORE INSERT
FOR EACH ROW IS
BEGIN
  SELECT TO_NUMBER(TO_CHAR(SYSDATE, 'YYYYMMDD') || table_name_seq.NEXTVAL)
  INTO :NEW.id
  FROM dual;
END;