货号可以自动生成
- 提问者: 666666
- 等级:普通会员
- 时间:2013-05-14 11:45
- 悬赏:0
- 解决时间:2013-05-24 11:45
回答 共 7 条
根据类别重新生成货号:
declare @old varchar(100),
@i int,
@item_no varchar(400),
@item_class varchar(400)
declare cc cursor read_only for select a.item_no, b.class_data from t_item_info a,t_item_class b where a.item_class=b.item_class order by a.item_class
open cc
while 1=1
begin
fetch cc into @item_no, @item_class
if @@fetch_status <> 0 break
if @item_class <> Isnull(@old,'')
begin
set @i = 1
set @old = @item_class
end
else
begin
set @i = @i + 1
end
update t_item_info set item_subno=@item_class+right(('0000'+convert(varchar(100),@i)),4) where item_no = @item_no
end
go
close cc
deallocate cc
select item_subno From t_item_info group by item_subno having count(*)>1
注意:先备份后执行,这个语句是取类别位+流水号4位,重新生成所有的商品货号,一定要先备份数据库,再在查询分析器中,选择数据库执行。
declare @old varchar(100),
@i int,
@item_no varchar(400),
@item_class varchar(400)
declare cc cursor read_only for select a.item_no, b.class_data from t_item_info a,t_item_class b where a.item_class=b.item_class order by a.item_class
open cc
while 1=1
begin
fetch cc into @item_no, @item_class
if @@fetch_status <> 0 break
if @item_class <> Isnull(@old,'')
begin
set @i = 1
set @old = @item_class
end
else
begin
set @i = @i + 1
end
update t_item_info set item_subno=@item_class+right(('0000'+convert(varchar(100),@i)),4) where item_no = @item_no
end
go
close cc
deallocate cc
select item_subno From t_item_info group by item_subno having count(*)>1
注意:先备份后执行,这个语句是取类别位+流水号4位,重新生成所有的商品货号,一定要先备份数据库,再在查询分析器中,选择数据库执行。
- 回答者:李祥
- 等级:问不倒翁
- 时间:2013-05-14 12:02
学习一楼的更新语句
- 回答者:kh359
- 等级:问不倒翁
- 时间:2013-05-14 12:21
强大
- 回答者:xly8989
- 等级:银牌会员
- 时间:2013-05-14 15:37
复杂,呵呵,学习了!
- 回答者:bonchen
- 等级:问不倒翁
- 时间:2013-05-14 21:00
学习一楼的更新语句
- 回答者:JCLH
- 等级:问不倒翁
- 时间:2013-05-15 09:20
学习
- 回答者:hnaywz
- 等级:钻石会员
- 时间:2013-05-15 09:45
学习一楼操作
- 回答者:josense
- 等级:皇冠会员
- 时间:2013-05-16 19:14
快到期问题