zoukankan      html  css  js  c++  java
  • (原)用于 SQLServer 自动创建单号的存储过程

     场景:
            不同的单据根据日期和单据流水自动生成顺序的单号。

    解决办法:

    if exists(select id from sysobjects where id=object_id('proc_id_builder'))
        
    drop procedure proc_id_builder;
    create procedure proc_id_builder(@id char(3))
    AS
    declare @sn varchar(12)
    begin transaction 
    if not exists(select 1 from t_parameter where c_id = @id)
    begin
        
    return -1
    end
    select @sn = c_value from t_parameter where c_id = @id
    if substring(@sn,1,8> convert(char(8),getdate(),112)
    begin
        
    return -1
    end
    --生成单号
    if substring(@sn,1,8< convert(char(8),getdate(),112)
    begin
        
    select @sn = convert(char(8),getdate(),112+ '0001'
    end 
    else
    begin                   
        
    select @sn = convert(char(12),convert(dec,@sn+ 1)
    end
    --更新单号
    update t_parameter 
        
    set c_value = @sn
     
    where c_id = @id  
    if @@error != 0
    begin
        
    rollback transaction
        
    return -1
    end
    commit transaction
    select @sn
    return;
  • 相关阅读:
    用于区分IE的:条件注释
    详解css:background
    scrollTop总为零原因;如何查看滚动条的位置或者说滚动条的滚动距离(待完善)
    过滤器Filter与监听器Listener
    JSP标签
    servlet
    JSP
    一个CSS简单入门网站
    开始写博客了!
    _nop()
  • 原文地址:https://www.cnblogs.com/spymaster/p/895658.html
Copyright © 2011-2022 走看看