使用“exec”更新表

时间:2016-06-08 20:03:03

标签: sql-server exec temp-tables

我有一个名为#temp的临时表,有两列:

clientID (varchar), 
result (int)

我只想在其中循环并使用存储过程检查clientID,该存储过程接受2个varchar参数并返回0或1。

我编码:

update #temp set result=exec sp_x 'clientID' '@clientID'

clientID#temp的列名 @clientID来自主SP的参数

它出现了一个警告:

  

关键字'exec'附近的语法不正确。

那么,该怎么办?

提前致谢...

1 个答案:

答案 0 :(得分:0)

您需要在循环中调用您的过程

declare @id varchar(10)
declare @result int
declare looper cursor for select clientID, result from #temp

fetch next from looper
into @id, @result

-- loop on #temp table
open looper
while @@fetch_status = 0
begin
  -- call your procedure and store the result into a variable
  -- do what ever you need to do

end

close looper
deallocate looper