zoukankan      html  css  js  c++  java
  • SQL生成流水号

    --生成流水号

    --创建测试表
    create table test(id varchar(18), --流水号,日期(8位)+时间(4位)+流水号(4位)
    name varchar(10) --其他字段
    )

    go
    --创建生成流水号的触发器
    create trigger t_insert on test
    INSTEAD OF insert
    as
    declare @id varchar(18),@id1 int,@head varchar(12)
    select * into #tb from inserted
    set @head=convert(varchar,getdate(),112)+replace(convert(varchar(5),getdate(),108),':','')
    select @id=max(id) from test where id like @head+'%'
    if @id is null
    set @id1=0
    else
    set @id1=cast(substring(@id,13,4) as int)
    update #tb set @id1=@id1+1
    ,id=@head+right('0000'+cast(@id1 as varchar),4)
    insert into test select * from #tb
    go


    --插入数据,进行测试
    insert into test(name)
    select 'aa'
    union all select 'bb'
    union all select 'cc'

    --修改系统时间,再插入数据测试一次
    insert into test(name)
    select 'aa'
    union all select 'bb'
    union all select 'cc'

    --显示测试结果
    select * from test


    --删除测试环境
    drop table test

    /*--测试结果
    id name
    ------------------ ----------
    2004022720430001 aa
    2004022720430002 bb
    2004022720430003 cc
    2004022720430004 aa
    2004022720430005 bb
    2004022720430006 cc

    (所影响的行数为 6 行)
    --
    */



    参考资料:

    -------------------------------------------------------------------------------------------------------------------------------------------------
    数据库优化
    数据库教程
    数据库实战经验分享博客

    百度云下载

    评测


  • 相关阅读:
    mfc启动画面
    个人冲刺第十天
    个人冲刺第九天
    个人冲刺第八天
    个人冲刺第七天
    个人冲刺第六天
    新一周冲刺计划2
    新一周冲刺
    创意1
    团队绩效与目标
  • 原文地址:https://www.cnblogs.com/longle/p/sql_sortcode.html
Copyright © 2011-2022 走看看