当前位置: 代码迷 >> PB >> 存储过程怎么动态指定列
  详细解决方案

存储过程怎么动态指定列

热度:120   发布时间:2016-04-29 09:53:26.0
存储过程如何动态指定列?
比如我有1张表wq_fjd_fx_3_temp_1,表中有很多数字列(比如1日数量,2日数量,3日数量。。。。),前台可以选中其中一列进行分析,我想把选中的一列写入到一个新表中,这个动态列如何引用?
([email protected],我写的但不对,执行完是文本,不是原来的其中一列,请问各位大虾如何解决? )

CREATE PROCEDURE sp_wq_fjd_fx_3_list_mx(zd1 varchar(50))  
AS
begin

if object_id('dbo.wq_fjd_fx_3_list_mx') is not null
  drop table dbo.wq_fjd_fx_3_list_mx


create table dbo.wq_fjd_fx_3_list_mx(sm varchar(50),th varchar(50),dhh varchar(50),rq varchar(10),sl varchar(10))
insert dbo.wq_fjd_fx_3_list_mx 
select '表一',dl_th,dhh,@zd1 from dr.dbo.wq_fjd_fx_3_temp_1;

end
go

------解决方案--------------------
SQL Server 吗? 试一下:
在create table dbo.wq_fjd_fx_3_list_mx...... 后这么写:

declare @sql nvarchar(8000)
declare @fields varchar(32)

set @fields = '指定字段'
select @sql = 'insert dbo.wq_fjd_fx_3_list_mx select ....' + @fields + '..., from dr.dbo.wq_fjd_fx_3_temp_1 where ....'

EXEC sp_executesql @sql

select * from wq_fjd_fx_3_list_mx
  相关解决方案