花费0.09秒。[Quote=引用 107 楼 raokaichuan 的回复:]
create table tb(id int IDENTITY(1,1) PRIMARY KEY,factor bigint)
insert into tb(factor) values(1)
go
declare @i int,@factormax int
set @i=2
while @i <=1000
begin
update tb set factor=facto……
[/Quote]
create table tb(id int IDENTITY(1,1) PRIMARY KEY,factor bigint)
insert into tb(factor) values(1)
go
SET NOCOUNT ON;
declare @i int,@factormax int
set @i=2
while @i<=1000
begin
update tb set factor=factor*@i
update tb set factor=factor+isnull((select floor(factor/1000000000000000) from tb where id=a.id-1),0) from tb a
select @factormax=floor(factor/1000000000000000) from tb where id=(select top 1 id from tb order by id desc)
if @factormax >0
insert into tb(factor) values(@factormax)
update tb set factor=factor % 1000000000000000
set @i=@i+1
end
select right('000000000000000'+convert(varchar,factor),15) from tb order by id desc
go
drop table tb
哥们你这个代码 放查询分析器 里面怎么运行 不了啊:编译 成功了 就是运行出现:所影响的行数为 1 行)
[Quote=引用 57 楼 qianjin036a 的回复:]
SQL codecreate table tb(id int IDENTITY(1,1) PRIMARY KEY,factor bigint,charfactor varchar(15))
insert into tb(factor) values(1)
go
SET NOCOUNT ON;
declare @i int,@factormax int
set @i=2
while @i<=1000
begin
update tb set factor=factor*@i
update tb set factor=factor+isnull((select floor(factor/1000000000000000) from tb where id=a.id-1),0) from tb a
select @factormax=floor(…
[/Quote]
set @len=1;
set @n = @t
while (@n >=1)
begin
select @c = 0 ,@i = 1
select @tmp = col from @ta where id = @i
while (@i <= @len)
begin
set @tmp…
[/Quote]