34,594
社区成员
发帖
与我相关
我的任务
分享
Alter procedure createdatelog
as
begin
create table #tb_kaoqin(userid nvarchar(50),username nvarchar(50))
declare @starttime datetime
declare @endtime datetime
declare @settime datetime
declare @sql varchar(100)
set @starttime='2014-01-01'
set @settime='2014-01-01'
set @endtime='2014-12-31'
while @starttime <@endtime
begin
if @settime>=@endtime
return
set @settime=dateadd(dd,1,@settime)
set @sql='alter table #tb_kaoqin add ['+ Convert(varchar(10), @settime,120)+'] nvarchar(10)'
print @sql
exec (@sql)
select * from #tb_kaoqin
end
end
go
exec createdatelog
你要加365列?
ALTER procedure createdatelog
as
begin
create table #tb_kaoqin(userid nvarchar(50),username nvarchar(50))
declare @starttime datetime
declare @endtime datetime
declare @settime datetime
declare @sql varchar(100)
set @starttime='2014-01-01'
set @settime='2014-01-01'
set @endtime='2014-12-31'
while @starttime <@endtime
begin
if @settime>=@endtime
return
set @settime=dateadd(dd,1,@settime)
set @sql='alter table #tb_kaoqin add ['+ Convert(varchar(10), @settime,120)+'] nvarchar(10)'
print @sql
exec (@sql)
select * from #tb_kaoqin
end
end
go
exec createdatelog
alter procedure createdatelog
as
set nocount on
begin
create table #tb_kaoqin(userid nvarchar(50),username nvarchar(50))
declare @starttime datetime
declare @endtime datetime
declare @settime datetime
declare @sql varchar(100)
set @starttime='2014-01-01'
set @settime='2014-01-01'
set @endtime='2014-12-31'
while @starttime <@endtime
begin
if @settime>=@endtime
return
set @settime=dateadd(dd,1,@settime)
set @sql='alter table #tb_kaoqin add ['+ Convert(varchar(10), @settime,120)+'] nvarchar(10)'
print @sql
exec (@sql)
set @starttime=dateadd(dd,1,@starttime)----添加这句话
select * from #tb_kaoqin
end
end
go
exec createdatelog
alter procedure createdatelog
as
begin
create table #tb_kaoqin(userid nvarchar(50),username nvarchar(50))
declare @starttime datetime
declare @endtime datetime
declare @settime datetime
declare @sql varchar(100)
set @starttime='2014-01-01'
set @settime='2014-01-01'
set @endtime='2014-12-31'
while @settime <@endtime
begin
--if @settime>=@endtime
--return
set @settime=dateadd(dd,1,@settime)
set @sql='alter table #tb_kaoqin add ['+ Convert(varchar(10), @settime,120)+'] nvarchar(10)'
print @sql
exec (@sql)
end
select * from #tb_kaoqin
end
go
exec createdatelog
set @starttime= dateadd(d,1,@starttime)
循环条件错了,我这里一直在加日期
循环条件错了,我这里一直在加日期
create procedure createdatelog
as
begin
create table #tb_kaoqin(userid nvarchar(50),username nvarchar(50))
declare @starttime datetime
declare @endtime datetime
declare @settime datetime
declare @sql varchar(100)
set @starttime='2014-01-01'
set @settime='2014-01-01'
set @endtime='2014-12-31'
while @settime <@endtime
begin
--if @settime>=@endtime
--return
set @settime=dateadd(dd,1,@settime)
set @sql='alter table #tb_kaoqin add ['+ Convert(varchar(10), @settime,120)+'] nvarchar(10)'
print @sql
exec (@sql)
select * from #tb_kaoqin
end
end
go
exec createdatelog
你那是多少的SQL 版本,我在我自己电脑上执行可以的呢。不会报错,我的版本是08R2