我有下一个t-sql代码
UPDATE
#f_contr_temp
SET
sum_percent = (EXEC get_f_contr_credit_delay_pz fct.f_contr, @date_loop, @sum_percent OUTPUT)
FROM
#f_contr_temp AS fct,
f_garanty AS fg
WHERE
fct.f_contr = fg.f_contr
我试图更新sum_percent列,但抛出一个异常,我无法在更新中执行过程。 我不知道,如何更新我的专栏。请帮忙。
答案 0 :(得分:0)
使用临时表存储S.P.的结果,如下所示:
CREATE TABLE #temp (percentage decimal(18,9))
INSERT INTO #temp
(EXEC get_f_contr_credit_delay_pz fct.f_contr, @date_loop, @sum_percent OUTPUT)
UPDATE
#f_contr_temp
SET
sum_percent = (select top 1 percentage from #temp)
FROM
#f_contr_temp AS fct,
f_garanty AS fg
WHERE
fct.f_contr = fg.f_contr
我想你的S.P.返回值,所以我使用TOP 1命令只得到第一个。
请注意 fct.f_contr
,这是它的来源?这样查询就不正确了。