34,591
社区成员
发帖
与我相关
我的任务
分享
declare @i bigint
set @i=650000120001
update driver_repair set nationalnum=ltrim(@i),@i=ltrim(@i+1)
select * from driver_repair
if object_id('tb') is not null
drop table tb
go
create table tb([商品id] varchar(10),[进库日期] datetime,TNum varchar(20))
insert tb select '1','2009-1-20',200
insert tb select '1','2009-1-1',100
insert tb select '2','2009-2-1',50
insert tb select '2','2009-3-2',200
insert tb select '2','2009-3-3',10
insert tb select '2','2009-3-1',160
go
declare @i int
set @i=650000
update tb set Tnum=ltrim(@i),@i=ltrim(@i+1)
select * from tb
/*
商品id 进库日期 TNum
---------- ----------------------- -----------
1 2009-01-20 00:00:00.000 650001
1 2009-01-01 00:00:00.000 650002
2 2009-02-01 00:00:00.000 650003
2 2009-03-02 00:00:00.000 650004
2 2009-03-03 00:00:00.000 650005
2 2009-03-01 00:00:00.000 650006
(6 行受影响)
*/
declare @i int
set @i=1
--650001开始自动增加,共蒸发30000条记录,
while (@i<=30000)
begin
insert into tb (ID) values (650001+@i)
set @i=@i+1
end
if object_id('tb') is not null
drop table tb
go
create table tb([商品id] varchar(10),[进库日期] datetime,TNum int)
insert tb select '1','2009-1-20',200
insert tb select '1','2009-1-1',100
insert tb select '2','2009-2-1',50
insert tb select '2','2009-3-2',200
insert tb select '2','2009-3-3',10
insert tb select '2','2009-3-1',160
go
declare @i int
set @i=650000
update tb set Tnum=@i,@i=@i+1
select * from tb
/*
商品id 进库日期 TNum
---------- ----------------------- -----------
1 2009-01-20 00:00:00.000 650001
1 2009-01-01 00:00:00.000 650002
2 2009-02-01 00:00:00.000 650003
2 2009-03-02 00:00:00.000 650004
2 2009-03-03 00:00:00.000 650005
2 2009-03-01 00:00:00.000 650006
(6 行受影响)
*/
declare @i int
set @i=650001
update tb set Tnum=@i,@i=@i+1
--既然是从650001开始自动增加,为何还要写UPDATE?
--可以将该字段设为标识字段,起始值为650000,步长、增长为1,以后向表里插数据的时候,不插这列,数据会自动生成的。
declare @i bigint
set @i=650000120000 --应该从这个数开始
update driver_repair set nationalnum=ltrim(@i),@i=ltrim(@i+1)
select * from driver_repair
declare @i bigint
set @i=650000120001
update driver_repair set nationalnum=ltrim(@i),@i=ltrim(@i+1)
select * from driver_repair