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

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
请高手指点
...全文
75 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
高手来帮忙嘛

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧