1

条件が結果を返している間に更新を実行しようとしています。問題は、クエリをテストしているときにクエリが終了しないことです。これがクエリです。

While(select COUNT(*) from Agreement as agr where agr.Id in (
  select toa.Id from Agreement_TemporaryOnceAgreement as toa where toa.Executed =1)
and agr.EndingDate is null) > 0
begin
DECLARE @AgreementID int;
SET @AgreementID = 
(
select top 1 agr.id from Agreement as agr where agr.Id in (
  select toa.Id from Agreement_TemporaryOnceAgreement as toa where toa.Executed =1)
and agr.EndingDate is null
)
update Agreement SET EndingDate = (
  select tado.Date from TemporaryAgreementsDateOfExecution tado
    where tado.AgreementId = CAST(@AgreementID AS INT))
where Agreement.Id = CAST(@AgreementID AS INT);
end;
4

1 に答える 1