/****** Script do comando SelectTopNRows de SSMS  ******/
SELECT
	concat('update or insert into TBEMPRESA (RAZAOSOCIAL, CODIGO, CODIGOANTIGO, NOMEFANTASIA, CNPJ, IE, /*IM,*/ COMPLEMENTO, BAIRRO, CEP, CIDADE,',
						'UF, SITE, EMAIL, FONE, FAX, CONTATO, CELULAR, USUARIO_CODIGO, DATA, STATUS, STATUSEXCLUSAO,',
						'HISTORICO, HABILITA_CLIENTE, HABILITA_FORNECEDOR,',
						'HABILITA_REPRESENTANTE, HABILITA_TRANSPORTADORA, CONTA_NG, EMAIL_XML, PLACA,',
						'DATA_ATUALIZACAO, LATITUDE,',
						'LONGITUDE, ID_ESTRANGEIRO, SALESFORCE, /*REGIME_TRIBUTARIO, */ FLAG_FORNECEDOR, EMAIL_CPA,',
						'NOTIFICACAO, ECOMMERCE, REPRESENTANTE_ID, REPLICAR_CLIENTE, VENDEDOR_ID, ENDERECO, NUMERO,',
						'TRANSPORTADORA_EDI, CNPJ_RAIZ2, ID_ANTIGO)',
	' values (',
		'''',SUBSTRING(coalesce([RazaoSocial], Fantasia),1,50),''',',
		a.[Codigo] + 10000,
	   ',0,',
		'''',SUBSTRING(Fantasia,1,20),''',',
		'''',[CNPJCPF],''',',
		'''',[CGFRG],''',',
		--'''',******,''',',
		'''',SUBSTRING(Complemento,1,20),''',',
		'''',SUBSTRING([Bairro],1,20),''',',
		'''',[CEP],''',',
		'''',c.[Cidade],''',',
		'''',a.[UF],''',',
		'''',[Site],''',',
		'''',[Email],''',',
		'''',[Fone],''',',
		'''',[Fax],''',',
		'''',SUBSTRING([Contato],1,20),''',',
		'''',[Celular],''',','186, current_date, ',iif(a.Inativo = 1, 0, 1),', 0,',
		'''OBS.:',[Obs],''',',
		'0,',iif([RamoAtividade] = 'TRANSPORTADORA' , 0, 1),',0,',iif([RamoAtividade] = 'TRANSPORTADORA' , 1, 0),',0,',
		'''',[Email],''',','0,current_date,0,0,0,0,',
		--'''',[regime],''',',
		'0,',
		'''',[Email],''','''',0,',
		'0,0,0,',
		'''',[Endereco],''',',
		'''',iif([Numero] is null or [Numero] = '','0',[Numero]),''',',
		'0,',
		'''',[CNPJCPF],''',0) matching (CODIGO);',
		
		--fornecedor
		iif([RamoAtividade] != 'TRANSPORTADORA', concat('update or insert into TBFORNECEDOR (RAZAOSOCIAL, CODIGO, TRANSPORTADORA_CODIGO, PAGAMENTO_CONDICAO, PAGAMENTO_FORMA, STATUS, UF)',
		' values (''',SUBSTRING([RazaoSocial],1,50),''',',a.[Codigo] + 10000,', 0, 0, 0, ',iif(a.Inativo = 1, 0, 1),',''',a.[UF],''')',
		' matching (CODIGO) ;'),''),

		--transportadora
		iif([RamoAtividade] = 'TRANSPORTADORA', concat('update or insert into TBTRANSPORTADORA (RAZAOSOCIAL, CODIGO, UF, STATUS, ENVIA_XML, ECOMMERCE, AVERBACAO, CAMINHONEIRO)',
		' values (''',SUBSTRING([RazaoSocial],1,50),''',',a.[Codigo] + 10000,',''',a.[UF],''',0, 1, 2, 0, 0)',
		' matching (CODIGO);'),'')
		
		) as SQL,
		a.*
	
  FROM [Alphaind].[dbo].Fornecedores a
  left join [Alphaind].[dbo].[Cidades] c on c.Codigo = a.cidade