MERGE

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
NiNo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 62
Registrado em: Seg, 11 Jul 2005 2:03 pm
Localização: são Paulo
NiNo
Developer

Ola para todos,

Necessitei utilizar o comando MERGE e, procurando neste forum encontrei várias respostas que me foram muito uteis. Utilizei o comando e ocorreu tudo muito bem. Porém necessitei utilizar o comando de uma outra forma e me dá o seguinte erro: "Argument Error", abaixo segue o codigo que estou utilizando, se algum conseguir ver onde estou "pecando", por favor me avise.
Obrigado a todos.

Selecionar tudo

MERGE INTO   b_anlise_tabloi          bAT 
            USING (SELECT  B.cod_tabloi     COD_TABLOI
                          ,B.cod_loja       COD_LOJA
                          ,B.cod_prduto     COD_PRDUTO
                          ,A.cod_sistmt     COD_SISTMT
                          ,'N'              IND_RUPTRA
                          ,999              cod_motivo
                   FROM    B_GRADE_TABLOI   B
                          ,B_PRDUTO_LOJA    A
                   WHERE   B.cod_loja       = A.cod_loja
                           and B.cod_prduto = A.cod_prduto
                   ) bGT
            ON (bAT.Cod_Loja       = bGT.COD_LOJA  
                AND bAT.Cod_Prduto = bGT.COD_PRDUTO
                AND bAT.Cod_Tabloi = bGT.Cod_Tabloi
                AND BAT.COD_SISTMT = bGT.Cod_Sistmt)
          WHEN not MATCHED THEN  
                   INSERT (bAT.Cod_Tabloi 
                          ,bAT.Cod_Loja
                          ,bAT.Cod_Prduto
                          ,bAT.Cod_Sistmt
                          ,bAT.Ind_Ruptra
                          ,bAT.Cod_Motivo
                          )
                   VALUES (bGT.COD_TABLOI    
                          ,bGT.COD_LOJA
                          ,bGT.COD_PRDUTO
                          ,bGT.COD_SISTMT
                          ,bGT.IND_RUPTRA
                          ,bGT.Cod_Motivo);
erthal
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 130
Registrado em: Seg, 22 Nov 2004 1:45 pm
Localização: Niterói - RJ
Gustavo Erthal Jr. | TRISCAL
...................................................
Rio de Janeiro | (21) 2507-2010
São Paulo | (11) 3167-0526
www.triscal.com.br

Nino,

Qual o código do erro que retorna. O Oracle normalmente retorna ORA-?????, onde ????? é uma numeração.

Abraços,
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes