/****** Script do comando SelectTopNRows de SSMS  ******/
SELECT



		concat('UPDATE OR insert into TBCOLABORADOR (CODIGO, DATA_ADMISSAO, DATA_NASCIMENTO, DATA_DEMISSAO, SITUACAO, PESSOAL_NOME, PESSOAL_SEXO,',
                'PESSOAL_ESTADO_CIVIL, PESSOAL_FONE1, PESSOAL_FONE2, PESSOAL_NATURALIDADE,',
                'PESSOAL_NATURALIDADE_UF, PESSOAL_ESCOLARIDADE, ENDERECO_LOGRADOURO, ENDERECO_BAIRRO,',
                'ENDERECO_CIDADE, ENDERECO_CEP, ENDERECO_UF, DOCUMENTO_PIS, DOCUMENTO_RG,',
                'DOCUMENTO_RG_EMISSAO, DOCUMENTO_RG_EMISSOR, DOCUMENTO_CPF, DOCUMENTO_CPF_EMISSAO,',
                'DOCUMENTO_CTPS, DOCUMENTO_CTPS_EMISSAO, DOCUMENTO_CTPS_EMISSOR, DOCUMENTO_TITULO_ELEITOR,',
                'REFEICAO, TURNO, CRACHA, CENTRO_DE_CUSTO_CODIGO, ESTABELECIMENTO_ID, AFASTADO, FLAG,',
                'MOTIVO_DEMISSAO, TRANSPORTE, CURSOS_TECNICOS, CURSOS_EXTRACURRICULARES, TIPO_PCD_ID,',
                'REFEICAO_TIPO_ID, DATAHORA, BANCO_CODIGO, BANCO_AGENCIA, BANCO_AGENCIA_DV, BANCO_CONTA,',
                'BANCO_CONTA_DV, BANCO_OPERACAO, BANCO_CONTA_TIPO, APELIDO)',

		' values (',a.[Codigo],', ',iif([Admissao] is null, 'null' ,concat('''',FORMAT([Admissao], 'dd.MM.yyyy'),'''')),', ',iif([Nascimento] is null, 'null' ,concat('''',FORMAT([Nascimento], 'dd.MM.yyyy'),'''')),', ',iif([Demissao] is null, 'null' ,concat('''',FORMAT([Demissao], 'dd.MM.yyyy'),'''')),', ',iif([Demissao] is null, 1 ,2),', ''',[Nome],''', ',iif([Sexo] = 'F',2,1),',',
        '',[EstadoCivil],', ''',iif(SUBSTRING([Fone],1,1) = '0', SUBSTRING([Fone],2,100), [Fone]),''', ''',iif(SUBSTRING([Celular],1,1) = '0', SUBSTRING([Celular],2,100), [Celular]),''', null, null,',
        'null, ''',[Endereco],''', ''',[Bairro],''', ''',c.[Cidade],''', ''',[CEP],''', ''',a.[UF],''',',
        '''',[dbo].[fn_remover]([PIS]),''', ''',[dbo].[fn_remover]([RG]),''', null, null, ''',[CPF],''',',
        'null, ''',[dbo].[fn_remover]([CTPS]),''', null, null,',
        '''',[dbo].[fn_remover]([Titulo]),''', 0, 1, null, ''',[Setor],''', 1, 0,',
        '0, ''',SUBSTRING([MotivoDemissao],1,50),''', ',[ValeTransporte],', ''',[Escolaridade],''','''', 0,',
        '0, current_date, ',[Banco],', ', 
		iif([dbo].[fn_array]([Agencia], '-', 1) is null or [dbo].[fn_array]([Agencia], '-', 1) = '','null', [dbo].[fn_remover]([dbo].[fn_array]([Agencia] , '-', 1))),', ',
		iif([dbo].[fn_array]([Agencia], '-', 2) is null or [dbo].[fn_array]([Agencia], '-', 2) = '','null', [dbo].[fn_remover]([dbo].[fn_array]([Agencia] , '-', 2))),', ',
		iif([dbo].[fn_array]([Conta]  , '-', 1) is null or [dbo].[fn_array]([Conta]  , '-', 1) = '','null', [dbo].[fn_remover]([dbo].[fn_array]([Conta]   , '-', 1))),', ',
		iif([dbo].[fn_array]([Conta]  , '-', 2) is null or [dbo].[fn_array]([Conta]  , '-', 2) = '','null', [dbo].[fn_remover]([dbo].[fn_array]([Conta]   , '-', 2))),', ',
        'null, 0, null) matching (CODIGO); ') as SLQ
		 
	/*	,a.[Codigo]
      ,[Nome]
      ,[Endereco]
      ,[CEP]
      ,[Bairro]
      ,[Fone]
      ,[Celular]
      ,[CPF]
      ,[RG]
      ,[DataCadastro]
      ,[Cota]
      ,[ComissaoAVista]
      ,[ComissaoPrazo]
      ,[ComissaoTabela1]
      ,[ComissaoTabela2]
      ,[ComissaoTabela3]
      ,[ComissaoTabela4]
      ,[ComissaoTabela5]
      ,[ComissaoTabela6]
      ,[Ativo]
      ,[Limite]
      ,[Funcao]
      ,[Sexo]
      ,a.[UF]
      ,a.[Cidade]
      ,[Nascimento]
      ,[Naturalidade]
      ,[Nacionalidade]
      ,[Filiacao]
      ,[EstadoCivil]
      ,[Conjuge]
      ,[QtdeDependentes]
      ,[Escolaridade]
      ,[CTPS]
      ,[Titulo]
      ,[PIS]
      ,[Habilitacao]
      ,[ContaFGTS]
      ,[CategoriaFGTS]
      ,[Matricula]
      ,[Setor]
      ,[Salario]
      ,[SalarioCTPS]
      ,[TipoPagamento]
      ,[Admissao]
      ,[OpcaoFGTS]
      ,[UltimasFerias]
      ,[VencimentoAtestado]
      ,[Dias]
      ,[Horas]
      ,[Pensao]
      ,[Sindicato]
      ,[Loja]
      ,[Demissao]
      ,[MotivoDemissao]
      ,[Obs]
      ,[ValeTransporte]
      ,[ArquivoFoto]
      ,[Eficiencia]
      ,[GrupodeProducao]
      ,[ComissaoTabela7]
      ,[ValorAdiantamentoQuinzenal]
      ,[FuncinariodeFerias]
      ,[AquisicaoIncicio]
      ,[AquisicaoFim]
      ,[GozoInicio]
      ,[GozoFim]
      ,[ProximoPeriodoInicio]
      ,[ProximoPeriodoFim]
      ,[CotaOuroPecas]
      ,[CotaOuroComissao]
      ,[CotaPrataPecas]
      ,[CotaPrataComissao]
      ,[CotaBronzePecas]
      ,[CotaBronzeComissao]
      ,[ComissaoTabela9]
      ,[LimitedeVales]
      ,[Situacao]
      ,[Aprovado]
      ,[Trienio]
      ,[Premio]
      ,[Produtividade]
      ,[Pontualidade]
      ,[Comissao_Caixa]
      ,[Comissao_Gerente]
      ,[Comissao_Supervisor]
      ,[ComissaoTabela8]
      ,[ComissaoTabela09]
      ,[ComissaoTabela10]
      ,[ComissaoTabela11]
      ,[ComissaoTabela12]
      ,[ComissaoTabela13]
      ,[ComissaoTabela14]
      ,[ComissaoTabela15]
      ,[Quinquenio]
      ,[ComissaoGeral]
      ,[Banco]
      ,[Agencia]
      ,[Conta]
      ,[Operacao]
      ,[CotaOuroValor]
      ,[CotaPrataValor]
      ,[CotaBronzeValor]
      ,[LancaProducao]
      ,[Senha]
      ,[PlayerIdPdvMobile]
	  */
  FROM [Alphaind].[dbo].[Funcionarios] a, [Alphaind].[dbo].[Cidades] c
  where c.Codigo = a.cidade