SQL 执行exec的返回值

有一存储过程:procAAA该存储过程返回一条SQL命令字符串:'select*fromAAA'现在的问题是我想执行这个存储过程返回SQL命令字符串,我以为这样能行:ex... 有一存储过程:procAAA
该存储过程返回一条SQL命令字符串:'select * from AAA'
现在的问题是我想执行这个存储过程返回SQL命令字符串,
我以为这样能行:exec (exec procAAA)。
可是却错了,还问各位前辈们如何做到,谢谢了!
展开
 我来答
爱吃草的lang
2011-08-25 · 超过17用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:65万
展开全部
直接改过程吧,你这个绕来绕去太麻烦。
这么改:
begin
declare @str varchar(4000)
set @str = 'select * from AAA'
exec @str
end
省得你还要取出来
追问
上面只是个示例而以,我项目里的存储很多的,改的话又要加参数,而且调用端也要改,这样工作量相当大。
追答
改过程是最简单的方式,也可以更好的控制权限,如果前期没做好这些工作,后期维护起来会花费更多的时间。而且我写的这个并没有加参数吧,,调用段只用执行这个过程就可以了,不用改动
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lwl2046
2011-08-25 · TA获得超过405个赞
知道小有建树答主
回答量:994
采纳率:0%
帮助的人:948万
展开全部
最好的办法是加一个存储过程PROCB。然后在存储过程中调用procAAA。把它的返回值复制个一个变量VAR
然后在新建的存储过程中。执行VAR;
你在最外出直接调用PROCB 即可
追问
可不可以贴具体的代码上来,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老油条精选
2011-08-25 · TA获得超过147个赞
知道答主
回答量:108
采纳率:0%
帮助的人:85.2万
展开全部
procAAA是怎么样返回的? out参数还是什么? 把这个存储过程贴出来
更多追问追答
追问
是这样的
create proc testAAA
as
begin
declare @str varchar(4000)
set @str = 'select * from AAA'
SELECT @str AS SQL
end
追答
非得这样写存储过程吗?为什么不用out参数?你要实现什么样的需求?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式