none
Dúvida sobre como inserir um dado externo no meu insert RRS feed

  • Pergunta

  • Pessoal estou com um problema estou fazendo o seguinte comando de inserção no sql:

    INSERT INTO FN_FORNECEDORES (INSCEST , CODEXTERNO, RAZAO, FANTASIA, CKPESSOA, ENDERECO, 
                                 BAIRRO, CIDADE, UF, CEP, COMPLEM, COBENDERECO, COBBAIRRO, COBCIDADE, 
                                 COBCEP, COBUF, NROPESSOA, NROPESSOACOB, TIPODESPESA, TIPORECEITA, CONVENIO, 
                                 ATFORNECEDOR, ATCLIENTE, CKETIQUETA, STFORNECEDOR, STCLIENTE, RECEITA, DIASRECEITA, 
                                 PARAM_ATUALIZACONTRAT, VLRFAMILIA, EXIGIRRECEITA, DTFECHAMENTO, INADIMPLENTE, 
                                 PAISIBGE, ATIVIDADE, REGIAO, AVISARRECEITA, USUARIO, DTATUALIZACAO, DTCADASTRO, 
                                 CKFORNECEDOR, CKCLIENTE, CGC) 
                                 
    SELECT #FORNECEDORESJ.INSCEST, #FORNECEDORESJ.CODIGO, #FORNECEDORESJ.NOME, #FORNECEDORESJ.NOME_FANTASIA,
           #FORNECEDORESJ.TIPO, #FORNECEDORESJ.ENDERECO, #FORNECEDORESJ.BAIRRO, #FORNECEDORESJ.CIDADE, #FORNECEDORESJ.UF,
           #FORNECEDORESJ.CEP, #FORNECEDORESJ.CXPOSTAL, #FORNECEDORESJ.ENDERECO, #FORNECEDORESJ.BAIRRO_COBR, 
           #FORNECEDORESJ.CIDADE_COBR, #FORNECEDORESJ.CEP_COBR, #FORNECEDORESJ.UF_COBR, #FORNECEDORESJ.NUM_PESSOA,
           #FORNECEDORESJ.ESPACO1, #FORNECEDORESJ.AUX2, #FORNECEDORESJ.AUX2, #FORNECEDORESJ.CONVENIO, 
           #FORNECEDORESJ.AUX_FORNECEDOR, #FORNECEDORESJ.AUX_CLIENTE, #FORNECEDORESJ.ETIQUETAS, #FORNECEDORESJ.AUX_FORNECEDOR, 
           #FORNECEDORESJ.AUX_CLIENTE, #FORNECEDORESJ.RECEITA, #FORNECEDORESJ.DIASRECEITA, #FORNECEDORESJ.ATUALIZACONTRAT,
           #FORNECEDORESJ.VALORFAMILIA, #FORNECEDORESJ.EXIGERECEITA, #FORNECEDORESJ.DTFECHAMENTO, #FORNECEDORESJ.INADIPLEMTE,
           #FORNECEDORESJ.PAISIBGE, #FORNECEDORESJ.ATIVIDADE, #FORNECEDORESJ.REGIAO, #FORNECEDORESJ.AVISARECEITA, 
           #FORNECEDORESJ.USERATUALIZACAO, #FORNECEDORESJ.DTATUALIZACAO, #FORNECEDORESJ.DTCADASTRO,
           #FORNECEDORESJ.AUX_FORNECEDOR, #FORNECEDORESJ.AUX_CLIENTE, #FORNECEDORESJ.CGC
      FROM #FORNECEDORESJ 
    left join FN_FORNECEDORES on CAST(#FORNECEDORESJ.CODIGO AS FLOAT) = CAST(FN_FORNECEDORES.CODEXTERNO AS FLOAT) 
        WHERE FN_FORNECEDORES.CODEXTERNO is null;      
    

    Pois bem na parte dos campos do insert esta faltando um que se chama cidadeibge, utilizando o nome da cidade da minha tabela temporaria eu preciso buscar na fi_cidadeibge o codigo para gravar no código ibge, porem para isso eu preciso fazer um sub select dentro desse insert alguem sabe me dizer como proceder nessa situação? O select que eu busco o dado seria esse:

    select codigo from fi_cidadeibge
    
    WHERE (#FORNECEDORESJ.CIDADE = FI_CIDADEIBGE.NOME));         


    sexta-feira, 5 de abril de 2013 20:06

Todas as Respostas

  • Se na sua tabela temporaria #Fornecedores voce tem um campo que ja faz ligação com a sua tabela fi_cidadeibge, não seria somente colocar mais um join ?

    Left join fi_Cidadeibge as FI on #Fornecedoresj.cidade = FI.nome


    Alexandre Matayosi Conde Mauricio.

    sexta-feira, 5 de abril de 2013 20:22