存储过程读取表中记录的列为传入参数

uctuustx1113 2006-03-19 02:25:50
表内容如下

mydate yf23 yf24 yf25 yf26
2006-3-16 12 89 123 126
2006-3-17 21 87 133 326
2006-3-18 45 32 12 234
2006-3-19 66 14 17 134

现在的存储过程如下:
CREATE PROCEDURE fhm(@area nvarchar(23) ) AS
begin
declare @varea sysname
set @varea='yf'+@area
select @varea from allmoney
end
GO

现在运行这个exec fhm 23
结果是
yf23
yf23
yf23
yf23
我想得到的结果是

12
21
45
66
请高手指点
...全文
42 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
huailairen 2006-03-19
alter PROCEDURE fhm(@area nvarchar(23) ) AS
begin
declare @varea sysname
declare @sql varcahr(300)

set @varea='yf'+@area
set @sql='select '+@varea+' from allmoney'
exec(@sql)
end
回复
huailairen 2006-03-19
CREATE PROCEDURE fhm(@area nvarchar(23) ) AS
begin
declare @varea sysname
set @varea='yf'+@area
select @varea from allmoney
end

改成
CREATE PROCEDURE fhm(@area nvarchar(23) ) AS
begin
declare @varea sysname
declare @sql varcahr(300)

set @varea='yf'+@area
set @sql='select '+@varea+' from allmoney'
exec(@sql)
end
回复
uctuustx1113 2006-03-19
高手来帮忙嘛
回复
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-03-19 02:25
社区公告
暂无公告