根据日期时间和随机量生成唯一ID!!

1.建立一个MakeManID表,
主要有三个字段:Model,Item和MaxValue,
建立存储过程GetMakeManIDValue如下:
CREATE   Proc  dbo.GetMakeManIDValue
(
@MaxValue   int  output,
@Model   varchar ( 10 ),
@Item   varchar ( 30 )
)
AS
declare   @errorNb   int  
Begin   Tran
select   @MaxValue = MaxValue  from  MakeManID  with  (UPDLOCK)  Where  Model = @Model   and  Item = @Item  
if  ( @MaxValue   is   null  )
begin
    
insert   into  MakeManID(Model,Item) values ( @Model , @Item )
    
set   @errorNb = @@error
    
if  ( @errorNb != 0 goto  errHandle
    
set   @MaxValue = 1
end   else
begin
    
set   @MaxValue = @MaxValue + 1
    
update  MakeManID  set  MaxValue = MaxValue + 1   where  Model = @Model   and  Item = @Item
    
set   @errorNb = @@error
    
if  ( @errorNb != 0 goto  errHandle
end

    
commit   Tran
    
return

errHandle:
    
rollback   tran
    
RAISERROR ( @errorNb , 16 1 )
    
set   @MaxValue = 0
    
return
GO
存储过程主要完成得到MaxValue的值,然后加1.
2.建立一个man表,里面有组织ID,职工姓名等等字段。
然后添加一个存储过程Add_Man.
CREATE   PROCEDURE  Add_Man
@GroupID   int ,
@Name   varchar  ( 20 ),
@School   varchar  ( 20 ),
@Qualifications    varchar  ( 20 ),
@Positions   int ,
@Salary   int ,
@Evaluation   varchar  ( 255 )
 
AS  
set  xact_abort  on
declare   @ManID   char ( 10 )
declare   @D   datetime
set   @D = GetDate ()
declare   @strY   char ( 4 )
Declare   @Item   varchar ( 7 )
set   @Item =   right ( ' 000 ' + convert ( varchar ( 3 ), @GroupID ), 3 ) + convert ( varchar ( 4 ), DatePart (yyyy, @D ))

declare   @max   int  
exec  dbo.GetMakeManIDValue  @max  out  , ' ManID ' , @Item
set   @ManID = @Item +right ( ' 000 ' + convert ( varchar ( 3 ), @max ), 3 )
begin   tran
insert   into  Man( [ ManID ] , [ PassWord ] , [ Name ] , [ School ] , [ Qualifications ] , [ Positions ] , [ Salary ] , [ Evaluation ] )
values  ( @ManID , ' 123456 ' , @Name , @School , @Qualifications , @Positions , @Salary , @Evaluation )
if   @@Error   != 0   goto  errHandle
commit   tran
    
return
errHandle:
    
set   @ManID = ''
    
rollback   tran
    
return
GO
存储过程主要完成能够根据存储过程GetMakeManIDValue来设置ManID和添加用户信息!!

转载于:https://www.cnblogs.com/yagebuqq/archive/2008/06/26/1230438.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值