DECLARE 
  @ILKTARIH DATETIME,
  @SONTARIH DATETIME
  
SET @ILKTARIH = '20050101'  
SET @SONTARIH = DATEADD(MONTH, 3, @ILKTARIH)

WHILE @SONTARIH < GETDATE()
BEGIN
    PRINT 'TARİH ARALIĞI ' + CAST(@ILKTARIH AS NVARCHAR(50)) + ' ' + CAST(@SONTARIH AS NVARCHAR(50))
    
	UPDATE HMALZILAC SET HMALZILAC.HDOSYAID = HESAPISL.HDOSYAID 
	FROM HMALZILAC INNER JOIN HESAPISL ON
	HMALZILAC.HESAPISLID= HESAPISL.HESAPISLID 
	WHERE  HMALZILAC.HDOSYAID <> HESAPISL.HDOSYAID 
	AND ITARIH>= @ILKTARIH AND ITARIH < @SONTARIH
	
	SET @ILKTARIH = @SONTARIH 
	SET @SONTARIH = DATEADD(MONTH, 3, @SONTARIH)
    
    --PRINT 'TARİH ARALIĞI ' + CAST(@ILKTARIH AS NVARCHAR(50)) + ' ' + CAST(@SONTARIH AS NVARCHAR(50))
END


UPDATE HMALZILAC SET HMALZILAC.HDOSYAID = HESAPISL.HDOSYAID 
FROM HMALZILAC INNER JOIN HESAPISL ON
HMALZILAC.HESAPISLID= HESAPISL.HESAPISLID 
WHERE  HMALZILAC.HDOSYAID <> HESAPISL.HDOSYAID 
AND ITARIH> '2017-01-01'


/**select * FROM HMALZILAC(NOLOCK) INNER JOIN HESAPISL(NOLOCK) ON
HMALZILAC.HESAPISLID= HESAPISL.HESAPISLID 
WHERE  HMALZILAC.HDOSYAID <> HESAPISL.HDOSYAID **/