HI,
我有一个表(让我们称之为tblInsuranceInfo
),其中需要通过调用存储过程来更新单个列(让我们称之为ReturnscalculatedAge
)。表的更新将在存储过程中进行。
ReturnscalculatedAge
SP需要许多参数,一些tblInsuranceInfo
列。
ReturnscalculatedAge
SP也会返回许多值。但是我们需要将返回的值之一设置为tblInsuranceInfo
的Column1。
如何为tblInsuranceInfo
Column2 = 'something'
中的每条记录执行此操作?
感谢您的帮助。
答案 0 :(得分:0)
在您从中返回值之前,对sp中的tblInsuranceInfo进行了简单的更新:
UPDATE tblInsuranceInfo
SET Column1 = @ParameterName
WHERE Column2 = @SomeOtherParameterName
然后,在存储过程结束之前执行以下操作:
SELECT Column1, Column2
FROM tblInsuranceInfo
WHERE Column2 = @SomeOtherParameterName
答案 1 :(得分:0)
我不知道以基于集合的方式调用SP的方法,所以这里是一个RBAR解决方案。 假设您的SP将Column2的值作为out参数返回,并且您在tblInsuranceInfo中将ID整数列作为PK。
declare @id int
declare @Col1 int
select @id = min(ID)
from tblInsuranceInfo
where Column2 = 'Something'
while @id is not null
begin
--exec SP here get return value in @Col1
update tblInsuranceInfo
set Column1 = @Col1
where ID = @id
select @id = min(ID)
from tblInsuranceInfo
where Column2 = 'Something' and
ID > @id
end