Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 16 anos, 3 meses atrás por Ivan_Filho.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #83312
    Ivan_Filho
    Participante

      Olá a todos, estou com um pequena dúvida num merge usando o Banco 9.2.0.8.0 … tenho o seguinte código:

      MERGE INTO admrht95 dest
      USING (select perf_divi_cod_divisao,
      perf_situ_cod_situacao
      from rh_perfil) ori
      ON ( dest.cod_divisao = ori.perf_divi_cod_divisao
      and dest.codsitua = ori.perf_situ_cod_situacao )

      WHEN NOT MATCHED THEN
      INSERT (dest.cod_divisao,dest.codsitua)
      VALUES (ori.perf_divi_cod_divisao, ori.perf_situ_cod_situacao);

      Notem que não existe o “WHEN MATCHED THEN” pq os campos são todos PK’s …

      Na versão do Banco 10.2.0.4.0 não ocorre esse erro… então tentei colocar um …

      WHEN MATCHED THEN
      NULL

      Mas não compila..

      qual a opção que teria para usar o Merge e não usar as 2 opções !?!??

      grato desde já. 😉

      #83313
      Rodrigo Mesquita
      Participante

        É um vacilo do oracle na versão 9, no 10 se vc colocar só o WHEN NOT MATCHED THEN ele compila.

        Cara, para continuar usando o merge sugiro vc colocar um update qualquer do tipo ori.campo = ori.campo. Não vai alterar nada, vai fazer um update de um valor por ele mesmo, mais irá compilar e funcionar.

        #83315
        Ivan_Filho
        Participante

          Desde já agradeço Rodrigo.

          Realmente na versão 10 funciona normalmente, na 9 não 🙁

          E já fiz isso que vc citou, mas não deu… a tabela é básica (com 2 campos sendo os 2 PK’s) ai realmente ele compila e tudo mais, mas gera erro ao ser rodado.

          Pense numa dúvida.

          *Só para informar mais: São cerca de 15 merges e 14 funcionam pq tem 2 opções no merge, mas esse caso, me quebra a cabeça.
          Se alguém souber, mesmo que um “jeitinho” já agradeço.

          😉

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress