SQL repetindo, ajuda?

Pessoal,
Estou trabalhando em uma forma nova em utilizar arquivo txt em blocos.
Acontece que está indo tudo bem, mas não entendo porque está repetindo a instrução sql três vezes.
Alguém pode me ajudar?

Bloco de Citação
$file = $this->Ini->path_doc.’/’.[global_matricula]. ‘/’ . {file};
$linhas = count($file) - 1;
$total_linhas={tamaho};

$dividir= round($linhas/$total_linhas);
if (($linhas > $total_linhas)  ) {
{pmensagem}= 'Arquivo com mais de '. $total_linhas.' registros. Favor gerar o mesmo relatório em '.$dividir.' partes !';
sc_error_exit();
}

$ativos = file_get_contents($file);
$blocos = explode("\n\r", $ativos);
$linha = [];
$users = array(“NSUSP”, “SUSP”);
$yul=’’;
$row=0;
$delete_table = ‘atualiza_dados’; // Table name
$delete_where = " contrato = ‘".[global_contrato]."’";

// Delete record
$delete_sql = 'DELETE FROM ’ . $delete_table
. ’ WHERE ’ . $delete_where;
sc_exec_sql($delete_sql);

foreach($blocos as $key_bloco => $bloco)
{

$linhas_do_bloco      = array_values(array_filter(explode("\n", $bloco))); // remove linhas em branco e reordena keys
$linha[$key_bloco]   = $linhas_do_bloco;

foreach($linhas_do_bloco as $key_linha => $linhas_do_bloco)
{
			//realizando  a validação do arquivo
			
			if ($row >= 5 ) 
			{
				 $t0 = explode(" ",$linha[$key_bloco][0]); 
				 $t1 = explode(" ",$linha[$key_bloco][1]);
				// $t2 = explode(" ",$linha[$key_bloco][2]);
				
				  if (  trim($linha[5][0]) != trim([global_caixa]))
					{
					sc_error_message('Caixa postal '.$linha[5][0].'  diferente do contrato: '.[global_caixa].'<p>.Serviço Parado!<p> Favor, veja se o arquivo é o o correto, ou a caixa postal que você especificou<p> está errada ou o arquivo é de outro Contrato!');
					 unlink($file); 
					sc_error_exit();
					}
				   $mesano=substr(trim($linha[5][1]),0,7);
				  if (  $mesano != {pmes})
				  {
					sc_error_message('Mês/Ano: '.$mesano.'  diferente do especificado: '.{pmes}.'<p>.Serviço Parado!<p> Favor, veja se o arquivo é o o correto, ou o mês que você especificou<p> está errado ou o arquivo é do mês diferente!');
					 unlink($file); 
					sc_error_exit();
				  }
				  if (in_array($t1[5], $users)) 
				  {
					$unidade=$t1[3]; 
					$rz =  substr($unidade,0,2);
				    $lo =  substr($unidade,2,4);
				    $rt =  substr($unidade,6,2);
				//echo "Bloco TESTE {$key_bloco} => Linha => {$key_linha} " . $linhas_do_bloco ."</br>";	

				  } 
				
				
				  if (in_array($t0[8], $users)) 
				  {
				  $instal=$t0[0];
				  $medidor=	$t0[1];
				  $reg=$t0[3];
				  $dial=$t0[4];
				  $const=$t0[5];
				  $classe=$t0[6];
				  $tipo=$t0[7];
				  $endereco=$t1[0];
				
						if ($yul <> $unidade){
							 $contar_conta=0;
							 $yul =$unidade;
						 }
				 $contar_conta=$contar_conta+1;	
				 $co=str_pad($contar_conta, 5, "0", STR_PAD_LEFT);
					
				$insert_table  = 'atualiza_dados';
						$insert_fields = array(  
							'instalacao' => "'$instal'",
							'adm' => "'1'",
							'reg' => "'$reg'",
							'ul' => "'$yul'",
							'razao' => "'$rz'",
							'local' => "'$lo'",
							'rota' => "'$rt'",
							'seq' => "$co",
							'endereco' => "'$endereco'",
							'classe' => "'$classe'",
							'medidor' => "'$medidor'",
							'med_dif' => "'1'",
							'sit' => "'$tipo'",
							'ult_leitura' => "'2020-01-01'",
							'diais' => "'$dial'",
							'const' => "'$const'",
							'ati' => "'01'",
							'contrato' => "'4680005077'",
						 );

						// Insert record
						$insert_sql = 'INSERT INTO ' . $insert_table
							. ' ('   . implode(', ', array_keys($insert_fields))   . ')'
							. ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';
					    
                  echo $insert_sql."</br>";
						//sc_exec_sql($insert_sql);	
  
				  }
				
						IF (substr(trim($linha[$key_bloco][1]),0,7) == {pmes})  {  
						$unidade=$t1[3];
						$rz =  substr($unidade,0,2);
				    	$lo =  substr($unidade,2,4);
				    	$rt =  substr($unidade,6,2);
						}
				 
	      }
	
	//echo "Bloco {$key_bloco} => Linha => {$key_linha} " . $linhas_do_bloco ."</br>";	
   }//FIM DO FOR EACH LINHA BLOCO

$row++;
}// FIM DO FOR EACH BLOCO

if (!unlink($file)) {
echo (“Erro ao deletar o arquivo $file”);
} else {
echo (“Arquivo $file deletado com sucesso!”);
}

Bloco de Citação
o dump sai desse jeito:

(pdo-mysql): DELETE FROM atualiza_dados WHERE contrato = ‘4680005077’
Bloco 0 => Linha => 0 CEMIG Distribuição S.A. 22/01/2020
Bloco 1 => Linha => 0 Pagina: 1 de 1.201
Bloco 2 => Linha => 0 Consistência Completa de Leitura
Bloco 4 => Linha => 0 Contrato: Mês/Ano: Unidade de Leitura Inicial: Unidade de Leitura Final: Unidade de Leitura Selecionada: Leiturista: Tipo de Leitura:
Bloco 5 => Linha => 0 014U
Bloco 5 => Linha => 1 01/2020 15000000 15999999 15020201 SFV OSB
Bloco 6 => Linha => 0 Instalação: Medidor: ML: Reg: D: Cte: Classe: F: Sit: C: OC: L.Min.: L.Máx.: L.Ant.: L.Exe.:
Bloco 6 => Linha => 1 Endereço: Mês/Ano Mês/Ano Mês/Ano Mês/Ano Mês/Ano Mês/Ano Observação
Bloco 6 => Linha => 2 Difer(%): Média: Cons.Apu.: Consumo: Consumo: Consumo: Consumo: Consumo: Consumo: Motivo
INSERT INTO atualiza_dados (instalacao, adm, reg, ul, razao, local, rota, seq, endereco, classe, medidor, med_dif, sit, ult_leitura, diais, const, ati, contrato) VALUES (‘3005469507’, ‘1’, ‘03’, ‘15020201’, ‘15’, ‘0202’, ‘01’, 00001, ‘AVSANTOSDUMONT,850–CS’, ‘Resi’, ‘ABA993042726’, ‘1’, ‘1’, ‘2020-01-01’, ‘5’, ‘001’, ‘01’, ‘4680005077’)
Bloco 7 => Linha => 0 3005469507 ABA993042726 01 03 5 001 Resi 1 NSUSP 29598 29810 29374
INSERT INTO atualiza_dados (instalacao, adm, reg, ul, razao, local, rota, seq, endereco, classe, medidor, med_dif, sit, ult_leitura, diais, const, ati, contrato) VALUES (‘3005469507’, ‘1’, ‘03’, ‘15020201’, ‘15’, ‘0202’, ‘01’, 00002, ‘AVSANTOSDUMONT,850–CS’, ‘Resi’, ‘ABA993042726’, ‘1’, ‘1’, ‘2020-01-01’, ‘5’, ‘001’, ‘01’, ‘4680005077’)
Bloco 7 => Linha => 1 AVSANTOSDUMONT,850–CS 12/19 11/19 10/19 09/19 08/19 07/19
INSERT INTO atualiza_dados (instalacao, adm, reg, ul, razao, local, rota, seq, endereco, classe, medidor, med_dif, sit, ult_leitura, diais, const, ati, contrato) VALUES (‘3005469507’, ‘1’, ‘03’, ‘15020201’, ‘15’, ‘0202’, ‘01’, 00003, ‘AVSANTOSDUMONT,850–CS’, ‘Resi’, ‘ABA993042726’, ‘1’, ‘1’, ‘2020-01-01’, ‘5’, ‘001’, ‘01’, ‘4680005077’)
Bloco 7 => Linha => 2 0,00% 328 0 297 366 320 379 296 286 Leitura não Executada
INSERT INTO atualiza_dados (instalacao, adm, reg, ul, razao, local, rota, seq, endereco, classe, medidor, med_dif, sit, ult_leitura, diais, const, ati, contrato) VALUES (‘3014177017’, ‘1’, ‘03’, ‘15020201’, ‘15’, ‘0202’, ‘01’, 00004, ‘AEROPORTO,9999–CS’, ‘Resi’, ‘AMJ198004378’, ‘1’, ‘1’, ‘2020-01-01’, ‘5’, ‘001’, ‘01’, ‘4680005077’)
Bloco 8 => Linha => 0 3014177017 AMJ198004378 01 03 5 001 Resi 1 NSUSP 00000 00000 00000
INSERT INTO atualiza_dados (instalacao, adm, reg, ul, razao, local, rota, seq, endereco, classe, medidor, med_dif, sit, ult_leitura, diais, const, ati, contrato) VALUES (‘3014177017’, ‘1’, ‘03’, ‘15020201’, ‘15’, ‘0202’, ‘01’, 00005, ‘AEROPORTO,9999–CS’, ‘Resi’, ‘AMJ198004378’, ‘1’, ‘1’, ‘2020-01-01’, ‘5’, ‘001’, ‘01’, ‘4680005077’)
Bloco 8 => Linha => 1 AEROPORTO,9999–CS 12/19 11/19 10/19 09/19 08/19 07/19
INSERT INTO atualiza_dados (instalacao, adm, reg, ul, razao, local, rota, seq, endereco, classe, medidor, med_dif, sit, ult_leitura, diais, const, ati, contrato) VALUES (‘3014177017’, ‘1’, ‘03’, ‘15020201’, ‘15’, ‘0202’, ‘01’, 00006, ‘AEROPORTO,9999–CS’, ‘Resi’, ‘AMJ198004378’, ‘1’, ‘1’, ‘2020-01-01’, ‘5’, ‘001’, ‘01’, ‘4680005077’)
Bloco 8 => Linha => 2 0,00% 0 0 0 0 0 0 0 0 Leitura não Executada

Veja são três instruções sql.
Alguém poderia me ajudar?