create function changeSql (@sqlstr varchar(1000),@tname varchar(20))
returns varchar(3000)
as
begin
declare @pos int
set @pos=charindex('from',@sqlstr)
set @sqlstr=stuff(@sqlstr,@pos-1,0,space(1)+'into '+@tname)
return @sqlstr
enddeclare @sql varchar(50),@tname varchar(20)
set @sql='select * from cc'
set @tname='cc_1'
set @sql=dbo.changeSql(@sql,@tname)
exec (@sql)
select * from cc_1
returns varchar(3000)
as
begin
declare @pos int
set @pos=charindex('from',@sqlstr)
set @sqlstr=stuff(@sqlstr,@pos-1,0,space(1)+'into '+@tname)
return @sqlstr
enddeclare @sql varchar(50),@tname varchar(20)
set @sql='select * from cc'
set @tname='cc_1'
set @sql=dbo.changeSql(@sql,@tname)
exec (@sql)
select * from cc_1
returns varchar(3000)
as
begin
declare @pos int
set @pos=charindex('from',@sqlstr)
set @sqlstr=stuff(@sqlstr,@pos-1,0,space(1)+'into '+@tname)
return @sqlstr
endgodeclare @sql varchar(50),@tname varchar(20)
set @sql='select * from cc'
set @tname='cc_1'
set @sql=dbo.changeSql(@sql,@tname)
exec (@sql)
select * from cc_1
returns varchar(8000)
as
begin
declare @pos int
set @pos=charindex('from',@sqlstr)
set @sqlstr=stuff(@sqlstr,@pos-1,0,space(1)+'into'+@tname+' ')
return(@sqlstr)
end
returns varchar(8000)
as
begin
declare @pos int
set @pos=charindex('from',@sqlstr)
set @sqlstr=stuff(@sqlstr,@pos-1,0,space(1)+'into '+@tname)
return(@sqlstr)
end
go--调用
declare @sql varchar(50),@tname varchar(20)
set @sql='select * from cc'
set @tname='cc_1'
set @sql=dbo.changeSql(@sql,@tname)
exec(@sql)