declare @Field intif @Field = 1 insert into 表 select * from B if @Field = 2 insert into 表 select * from C if @Field = 3 insert into 表 select * from Ddeclare @sql varchar(1000) set @sql = '' select @sql = 'insert into 表 select * from '+case when @Field = 1 then 'B' when @Field = 2 then 'C' else 'D' end exec(@sql)
如果规则可能经常变化,可以把这个规则保存到表中,如:表A字段名 值 对应的表名 某字段1 1 B 某字段1 2 C 某字段1 3 D 某字段1 4 E 然后用动态SQL查询对应的表名中的数据。
insert into 表 select * from B
if @Field = 2
insert into 表 select * from C
if @Field = 3
insert into 表 select * from Ddeclare @sql varchar(1000)
set @sql = ''
select @sql = 'insert into 表 select * from '+case when @Field = 1 then 'B' when @Field = 2 then 'C' else 'D' end
exec(@sql)
某字段1 1 B
某字段1 2 C
某字段1 3 D
某字段1 4 E
然后用动态SQL查询对应的表名中的数据。