SQLServer动态exec查询语句,返回查询变量

例:createproceduretempProasdeclare@sqlnvarchar(1000),@usernvarchar(500),@tablenamenvar... 例:
create procedure tempPro
as
declare @sql nvarchar(1000),@user nvarchar(500),@tablename nvarchar(100)
set @tablename='T_Table'
set @sql='select '+@user+' =[TwoField] from '+@tablename+' where [OneField]=''hello'
exec sp_executesql @sql, @user OUTPUT
print @user
这样获取不到@user查询后的值,
请问如何获得@user的值呢?
展开
 我来答
leexiaol1108
2012-06-01 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:148万
展开全部
drop procedure tempPro;
go

create procedure tempPro
as
declare
@sql nvarchar(200),
@user nvarchar(500),
@tablename nvarchar(100)
begin
set @tablename='t_stars'
set @sql=N'select @userOUT = stars_name from '+@tablename+' where stars_id=''hk1006''';
execute sp_executesql @sql, N'@userOUT varchar(30) output', @userOUT=@user output;
print @user;
end
go

exec tempPro;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式