create table tb(f1 varchar(10),f2 varchar(10),f3 varchar(10))
go
create proc pinsert(@a varchar(30),@b varchar(30),@c varchar(30))
as
begin
declare @s varchar(8000)
create table #a(id varchar(10))
create table #b(id varchar(10))
create table #c(id varchar(10))
set @s = stuff(replace(','+@a,',',''' insert #a select '''),1,1,'')+''''
+ stuff(replace(','+@b,',',''' insert #b select '''),1,1,'')+''''
+ stuff(replace(','+@c,',',''' insert #c select '''),1,1,'')+''''
exec(@s)
insert tb select * from #a,#b,#c
end
go
exec pinsert '1,2,3','a,b','9'
select * from tb
go
drop table tb
go
drop proc pinsert
/*
f1 f2 f3
---------- ---------- ----------
1 a 9
2 a 9
3 a 9
1 b 9
2 b 9
3 b 9
*/