• 写一个自动编号的存储过程


    Create Function f_getid()
    Returns Varchar(13)
    As
    Begin
     Declare @id varchar(13),@dt varchar(8)
     Select @dt=dt From v_getdate
     Select @id=max(id) From tb Where id like @dt+'%'
     IF @id Is null
      Set @id=@dt+'0001'
     Else
      Set @id=@dt+Right('0000'+Cast(Cast(Right(@id,3) As Int)+1 As Varchar),4)
      Return(@id)
    End
    Go

    --创建表
    Create table tb(id varchar(20) default dbo.f_getid() primary key,name varchar(10))
    go

    --创建视图,得到当前日期(因为函数中不能使用getdate())
    Create view v_getdate as select dt=convert(varchar,getdate(),012)
    go

    --插入记录测试
    insert into tb(name) values('张三')
    insert into tb(name) values('张四')
    insert into tb(name) values('张五')
    insert into tb(name) values('张六')
    insert into tb(name) values('张七')
    insert into tb(name) values('张八')
    insert into tb(name) values('张九')
    insert into tb(name) values('张十')
    insert into tb(name) values('张十一')
    insert into tb(name) values('张十二')

    --显示插入的结果
    select * from tb

    go


    id                   name      
    -------------------- ----------
    0411040001           张三
    0411040002           张四
    0411040003           张五
    0411040004           张六
    0411040005           张七
    0411040006           张八
    0411040007           张九
    0411040008           张十
    0411040009           张十一
    0411040010           张十二

    --删除环境
    drop table tb
    drop view v_getdate
    drop function f_getid
                                                                                                              author :miss wang reshipment

  • 相关阅读:
    C#网络安全的一个不错的站点
    SP2已经发布,明天MS要发布一个Exchange的package
    Python学习足迹(3)
    用例子来彻底搞明白Virtual 和 非 virtual(C#)
    概述Web编程的安全极其防护措施(主要针对PHP,PERL)[]
    Java序列化
    Mybatis缓存及原理
    代理模式
    Spring的依赖注入
    Mybatis运行流程
  • 原文地址:https://www.cnblogs.com/wisdom/p/608601.html
Copyright © 2020-2023  润新知