先建好表table1,查询条件一样,insert一下不就ok了 …… begin …… s:='insert into table1(a,b,c,d) ' s:=s+'select a,b,c,d from t_x where 1=1'; if 某条件 then //用户选择的条件 s:=s+' and 条件'; …… …… s:='select a,b,c,d from table1';//查询显示数据 …… end ……
都还没读明白,是谁的问题的?另存记录集,一种就是楼上说的 还有一种就是:select 字段们 into 尚未建立的表 from ... where ...
你们多读一题目吧, 一开始存储过程可能这么写 create proc up_select(@p1,@p2,@p3,@p4,@p5,@p6)as begin declare @sql varchar(8000) set @sql='select * from t_x where 1=1' if @p1<>'' set @sql=@sql + ' and p1=''' + @p1 + '''' if @p2<>'' set @sql=@sql + ' and p2=''' + @p2 + '''' ... ... print(@sql) exec(@sql) end这是之前设计好的程序,用户一查就可以查询到这些数据,现在要对查询到的这些数据又做另存处理, 当然如果是导出excel的话就最方便了,现在问你是不修改原来存储过程的前提下有什么巧妙快捷的方法 将查询到的结果集另存到其他表或新建的表中?
begin
……
s:='insert into table1(a,b,c,d) '
s:=s+'select a,b,c,d from t_x where 1=1';
if 某条件 then //用户选择的条件
s:=s+' and 条件'; ……
……
s:='select a,b,c,d from table1';//查询显示数据
…… end
……
还有一种就是:select 字段们 into 尚未建立的表 from ... where ...
一开始存储过程可能这么写
create proc up_select(@p1,@p2,@p3,@p4,@p5,@p6)as
begin
declare @sql varchar(8000)
set @sql='select * from t_x where 1=1' if @p1<>''
set @sql=@sql + ' and p1=''' + @p1 + '''' if @p2<>''
set @sql=@sql + ' and p2=''' + @p2 + '''' ...
...
print(@sql)
exec(@sql)
end这是之前设计好的程序,用户一查就可以查询到这些数据,现在要对查询到的这些数据又做另存处理,
当然如果是导出excel的话就最方便了,现在问你是不修改原来存储过程的前提下有什么巧妙快捷的方法
将查询到的结果集另存到其他表或新建的表中?