国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 開發之 使用觸發器自動編號

2024-08-31 00:49:16
字體:
來源:轉載
供稿:網友
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!
  • 使用sql server創建數字類型的字段,可以設置為自動編號。但很多時候并不能滿足我們的需求,例如為學生編號時,可能要用到年級、系別等再加上流水號進行編號。下面給一個簡單的例子,使用觸發器來進行自動編號。
    --創建測試表  
      if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[usertable]') and objectproperty(id, n'isusertable') = 1)
      drop table [dbo].[usertable]
    go
      create   table  usertable(userid   varchar(20),username   nvarchar(20))   
       go  
      --創建觸發器   
      create   trigger  tg_insert  on   usertable   
        for   insert    
      as    
        declare   @username nvarchar(20)   
        declare   @userid   varchar(20)   
        declare   @num      int   
        declare   @strnum   varchar(20)
        declare   @prefix   varchar(10)
        declare   @numlen   int
        declare   @strdate  varchar(20)
        --獲取當前日期
        set @strdate=substring(convert(varchar(10),getdate(),112),1,8) 
        --設置流水號的長度
        set @numlen = 4
        --設置前綴
        set @prefix = 's'
        select   @userid=max(userid)  from  usertable   
          where   userid   like   @prefix   +  @strdate   +   '%'   
        if @userid is null    
            set @num=0  
        else
            set @num=cast(replace(@userid,@prefix + @strdate ,'') as int)   
        set  @num = @num + 1 
        set  @strnum = cast(@num as varchar(10))
        while(len(@strnum)<@numlen)
             set @strnum = '0' + @strnum
        set   @[email protected] +  @strdate + @strnum
        select   @username=username   from   inserted   
        rollback    
        insert   into   usertable   values(@userid,@username)      
      go       
      --測試  
      insert   into   usertable(username)   values('aa')   
      go   
      insert   into   usertable(username)   values('bb')   
      go   
      insert   into   usertable(username)   values('cc')   
      go  
      --顯示數據   
      select   *   from   usertable   
      go

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 陇南市| 河曲县| 神池县| 句容市| 德阳市| 罗田县| 沧州市| 洞口县| 鲁甸县| 调兵山市| 南江县| 沾化县| 随州市| 宁远县| 抚宁县| 阿拉善左旗| 韩城市| 兴化市| 富蕴县| 若尔盖县| 祁阳县| 康乐县| 城市| 琼海市| 车险| 辽阳县| 天津市| 根河市| 伊通| 灵璧县| 上饶县| 兴安县| 安陆市| 民权县| 长丰县| 女性| 北京市| 区。| 苏尼特左旗| 洛川县| 吴川市|