系统自动编号

create table t_asset(
id int,
assetcode varchar(50) null,
company varchar(50) null,
ctype varchar(50) null
)

insert into t_asset 
values(1,'HTSK-JX-0001','HTSK','JX'),
      (2,'HTSK-JX-0002','HTSK','JX'),
      (3,'HTSK-JX-0003','HTSK','JX'),
      (4,'HTSK-DQ-0001','HTSK','DQ'),
      (5,'','HTSK','DQ'),
      (6,'','HTSK','JX'),
      (7,'','HTJT','DQ'),
      (8,'','HTJT','JX'),
      (9,'','HTSK','JZ')


SELECT * from t_asset

________________________________________________________________________
--循环编号
declare @id int
declare @company varchar(100)
declare @ctype varchar(100)
declare @companyctype varchar(100)
declare @sql nvarchar(max)

declare Autocursor scroll cursor for
SELECT id,company,ctype from t_asset where assetcode=''
open Autocursor
fetch first from Autocursor
into @id,@company,@ctype
while @@FETCH_STATUS=0
begin

set @sql='select @assetcode='''+@company+'-'+@ctype+'-''+RIGHT(''000''+convert(varchar(50),ISNULL(max(RIGHT(assetcode,4)),0)+1),4) from t_asset where assetcode like ''%'+@company+'-'+@ctype+'-%'''
exec sp_executesql @sql,N'@assetcode nvarchar(200) out',@companyctype out
update t_asset set assetcode=@companyctype where id=@id

fetch next from Autocursor
into @id,@company,@ctype
end
CLOSE Autocursor
DEALLOCATE Autocursor

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值