Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用当前日期和其他自动递增编号创建ID_Javascript_Oracle_Asp Classic - Fatal编程技术网

Javascript 使用当前日期和其他自动递增编号创建ID

Javascript 使用当前日期和其他自动递增编号创建ID,javascript,oracle,asp-classic,Javascript,Oracle,Asp Classic,我在为表单生成ID时遇到了一个问题。我目前正在使用ASP Classic和Oracle。 我需要创建具有当前日期和2个附加数字的ID 例如:yyyymmdd+自动递增编号,顺序为2015031601、2015031602 到目前为止,我只能用Javascript中的Math.random函数创建的随机数返回表单中的当前日期值。但是,ID实际上需要按顺序自动递增编号 当前日期的代码和随机数的数学随机: var date = new Date(); var todaydate= da

我在为表单生成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;

你认为序列号从哪里来?您必须将其存储到某个人,以便继续返回并递增它,最好是存储在您的数据库中。目前我不确定你发布的内容是如何尝试这样做的?序列应该从每天1开始吗?@Davidaber不确定这是从哪里来的,OP状态是否在一天后重置?不仅仅是你注意到pavel gatnar有。根据你想用它做什么,从安全角度来看,如果ID增加,这不是一个很好的解决方案。即使前面有日期戳,你也很容易猜出下一个值。如果这不是问题,那没关系。然而,如果你解释一下你想要达到的目的,我们也许可以提供一个替代方案。@Lankymart,同意。希望OP会澄清。如果您希望序列从每天1开始,您必须创建一个包含每日计数器的表,并使用它而不是序列