[![enter image description here][1]][1]I have this table with 3 records . 3 records are create scripts . I need to execute the create scripts and if there is a 208 error occurred then I need to keep the record and set  status as 1 . Then execute it again after other records are finished .If there are no errors or if there is any other error other than 208 i need to delete that from the table .But when I execute this it goes on an infinite loop. How do I fix this .



The thing is 2nd view has a reference on 1st one. So I need to create second one 1st and then the  1st one.  That's y i created this SP.
Any other ideas are also appreciated. 
I am new to coding so please forgive any mistakes i made. 


Create PROCEDURE [dbo].[UP_CREATE_SCRIPT]

AS 

BEGIN 

declare @qry1 nvarchar(max)
DECLARE @i INT =1
DECLARE @qry2 NVARCHAR(100) 
IF EXISTS (select 1 from [SmartMigrateDB_New].dbo.temp3 where id>0 and type<>'sq') 

BEGIN 
truncate  table error_log

    while (select count(1) from [SmartMigrateDB_New].dbo.temp3 where status=1)>=0

    BEGIN 
        WHILE @i <=  (SELECT MAX(ID) FROM [SmartMigrateDB_New].dbo.temp3)
           BEGIN
			BEGIN TRY
             set @qry1 = ( select code from [SmartMigrateDB_New].dbo.temp3  where id = @i  )
             print @qry1 						
			 EXEC sp_ExecuteSQL @qry1
			 update [SmartMigrateDB_New].dbo.temp3 set status=0  where id = @i
			END TRY


            BEGIN CATCH
             if ERROR_NUMBER()=208
             update [SmartMigrateDB_New].dbo.temp3 set status=1  where id = @i
             if ERROR_NUMBER()<>208
             update [SmartMigrateDB_New].dbo.temp3 set status=0   where id = @i

             insert into error_log(name,error_no,msg)
             SELECT 
             ERROR_PROCEDURE() as name,
             ERROR_NUMBER() AS error_no,
             ERROR_MESSAGE() AS msg
   
            END CATCH
            
			SET @qry2=(SELECT NAME FROM [SmartMigrateDB_New].dbo.temp3 where id = @i    )
            delete from [SmartMigrateDB_New].dbo.temp3 where id=@i and  status=0  
            print @qry2 +' Created'
		    set @i = @i + 1 
           END
    END

END
ELSE print 'no objects'
END
    


  [1]: https://i.sstatic.net/SDFb6.png