请教关于存储过程中使用exec的问题

domynet 2003-11-20 09:57:51
我想通过存储过程实现:在已知某个表的某个字段的值的情况下取得同一个记录中另外一个字段的值,有四个参数:@tableName是表的名字,@want是想要知道值的字段名称,@knownColumn是已经知道值的这个字段的字段名,@knownValue是已经知道的这个字段(及knownColumn字段)的值。
我的整个存储过程是这样的:
CREATE PROCEDURE GetColumnValue
(@tableName varchar(50),
@want varchar(50),
@knownColumn varchar(50),
@knownValue varchar(80),
@returnValue varchar(50)
)
as
exec('select' + @want + 'from' + @tableName + 'where' + @knownColumn + '=' + @knownValue)
GO
语法检查没错,可在程序中却不能取得我想要的对应字段的值,是不是我这个存储过程写错了?请大家指教,谢谢
...全文
33 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilson1293 2003-11-20
  • 打赏
  • 举报
回复
在调用的过程中你是否将四个变量做为参数来传递呢。
welyngj 2003-11-20
  • 打赏
  • 举报
回复
exec('select ' + @want + ' from ' + @tableName + ' where ' + @knownColumn + '=' + @knownValue)--少了空格
j9988 2003-11-20
  • 打赏
  • 举报
回复
@knownValue是字段名吧。
j9988 2003-11-20
  • 打赏
  • 举报
回复
exec('select ' + @want + ' from ' + @tableName + ' where ' + @knownColumn + ' in (select ' + @knownValue+' from '+@tablename+' )')

34,499

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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