各位大虾我的问题是这样的,
我有一个表,是通过DTS导入excel得到的,每次都会有几列null列(f116,f117,..,130),我想用一个循环自动删除这些null列,我的想法是
Create Function a()
as
begin
declare @a int
set @a=117
alter table temp_posinfo_update drop column f+@a
@a++
end
go通过循环自动删除这些null列,但是f+@a这里有错误,请大家指点一二不胜感激~~
我有一个表,是通过DTS导入excel得到的,每次都会有几列null列(f116,f117,..,130),我想用一个循环自动删除这些null列,我的想法是
Create Function a()
as
begin
declare @a int
set @a=117
alter table temp_posinfo_update drop column f+@a
@a++
end
go通过循环自动删除这些null列,但是f+@a这里有错误,请大家指点一二不胜感激~~
set @cmd='alter table tb drop column f' + rtrim(@a)EXEC(@cmd);
declare @a int
set @a=117
while @a<18
begin
set @cmd='alter table tb drop column f' + rtrim(@a)
set @a=@a+1
exec(@cmd)
end
select * from lin_tb
go
create proc lin_proc
as
begin
declare @i int,@sql varchar(1000)
set @sql=''
set @i=17
while @i<19
begin
set @sql='alter table lin_tb drop column f'+cast(@i as varchar(10))
exec (@sql)
set @i=@i+1
end
end
go
exec lin_proc
go
select * from lin_tb
go
drop table lin_tb
drop proc lin_proc
/*
id f17 f18
---------------------------------------------------------------------------------------------------- ----------- -----------(0 行受影响)id
----------------------------------------------------------------------------------------------------(0 行受影响)*/