title: SQL Server: Endless WHILE EXISTS loop
body: <p>I have problem with the following WHILE EXISTS loop. Could you consider what can be reason why it is endless loop and why it doesn't update values?</p>
  
  <pre><code>declare @part varchar(20)
  
  while exists ((select top 1 * from part1 p where isnull(brojRacuna,'')=''))
  begin
  set @part=''
  set @part=(select top 1 partija from part1 p where isnull(brojRacuna,'')='')
  begin tran
  update part1
  set  BrojRacuna= (select dbo.dev_brojracuna (@part))
  where partija like @part
  print @part
  commit
  end
  </code></pre>
  
  <p><strong>EDIT 1:</strong> Because I didn't find solution in first moment, I created cursor and updated data in that way. After that I found that left couple rows that are not updated, because function had an issue with data and couldn't update values for that rows. In that case, fields have been empty always and loop became endless.</p>