如何在SqlServer中的另一个过程中使用一个过程的结果?
我正在尝试将结果与一些 SELECT
组合起来。
我想将 @result
与 [proc_Get_Frame_CourseNum]
过程的结果结合起来设置,但它不起作用。
declare @str varchar(300)
declare @result varchar(200)
declare @temp varchar(20)
declare @i int
set @str='110,120,130,140'
set @result=''
set @temp=''
set @i=0
while @i<len(@str)/4+1
begin
set @temp=substring(@str,1,3)
set @str=substring(@str,2,len(@str))
set @result=@result+ exec [proc_Get_Frame_CourseNum] @temp
set @i=@i+1
end
select @temp
I'm trying to combine a result mixed with some SELECT
s.
I wanted to set @result
combined with the result of [proc_Get_Frame_CourseNum]
procedure but It didn't work.
declare @str varchar(300)
declare @result varchar(200)
declare @temp varchar(20)
declare @i int
set @str='110,120,130,140'
set @result=''
set @temp=''
set @i=0
while @i<len(@str)/4+1
begin
set @temp=substring(@str,1,3)
set @str=substring(@str,2,len(@str))
set @result=@result+ exec [proc_Get_Frame_CourseNum] @temp
set @i=@i+1
end
select @temp
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
就我个人而言,我会利用输出变量
然后在您的代码中,您只需执行以下操作:
或者,您可以将 SP 的结果转储到临时表中,然后从中读取到您的 @Result 变量中。
Personally, I'd make use of output variables
Then in your code, you just go:
Alternatively, you could just dump the results of the SP into a temp table, then read from it into your @Result variable.
您无法通过附加一个过程的结果来对其结果进行插值。
我现在假设
[proc_Get_Frame_CourseNum]
返回标量结果。因此,在另一批批处理中运行 exec [proc_Get_Frame_CourseNum] @temp (在 set @result = @result + call 之前)
您的查询应该如下所示,
You can't interpolate the result of one procedure by appending it.
I am assuming now that
[proc_Get_Frame_CourseNum]
returns a scalar result.So run
exec [proc_Get_Frame_CourseNum] @temp
in another line of batch (before set @result = @result + call)Your query should look like,