Javascript 使用当前日期和其他自动递增编号创建ID
我在为表单生成ID时遇到了一个问题。我目前正在使用ASP Classic和Oracle。 我需要创建具有当前日期和2个附加数字的ID 例如:yyyymmdd+自动递增编号,顺序为2015031601、2015031602 到目前为止,我只能用Javascript中的Math.random函数创建的随机数返回表单中的当前日期值。但是,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
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开始,您必须创建一个包含每日计数器的表,并使用它而不是序列