求大虾帮忙:如何动态指定字段的值?? 我的存储过程错在那里??

chongachong 2004-11-20 11:17:24
ALTER PROCEDURE SP_AcctTurnConsum
(
@UserNumId varchar(10), --用户帐户号码
@Acct varchar(10) --帐户类别
)

AS

declare @AcctVal varchar(10)

set @AcctVal=exec('select'+@Acct+' from Account where UserNumId='''+@UserNumId+'''') ---这句的错误
....



---------------------------------------------
但我想动态得到某个字段@Acct的值,并赋予一个变量@AcctVal,如何作到啊?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yelook 2004-11-21
  • 打赏
  • 举报
回复
execute('select'+@Acct+' from Account where UserNumId='''+@UserNumId+'''')
mgsray 2004-11-21
  • 打赏
  • 举报
回复
ALTER PROCEDURE SP_AcctTurnConsum
(
@UserNumId varchar(10), --用户帐户号码
@Acct varchar(10) --帐户类别
)
AS
declare @AcctVal varchar(10)
exec sp_executesql N'select @AcctVal=@Acct from Account where UserNumId=@UserNumId',
N'@AcctVal varchar(10) out, @Acct varchar(10), @UserNumId varchar(10)',@AcctVal,@Acct,@UserNumId
...
mgsray 2004-11-21
  • 打赏
  • 举报
回复
ALTER PROCEDURE SP_AcctTurnConsum
(
@UserNumId varchar(10), --用户帐户号码
@Acct varchar(10) --帐户类别
)
AS
declare @AcctVal varchar(10)
exec sp_executesql N'select @AcctVal=@Acct from Account where UserNumId=@UserNumId',
N'@AcctVal varchar(10) out, @Acct varchar(10), @UserNumId varchar(10)',@AcctVal,@Acct,@UserNumId
...
chongachong 2004-11-21
  • 打赏
  • 举报
回复
多谢各位,我是个菜菜,请问楼上的楼上的

1、N'....'语句里的 N 是干什么的??是什么含义??是用来连接字符串的吗?
2、sp_executesql后面要三个参数吧 ?
chongachong 2004-11-20
  • 打赏
  • 举报
回复
我知道可能是exec()的使用错误,但有没有办法获取这个值呢?

34,594

社区成员

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

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