[oracle_br] Re: Saber se um update foi feito

2017-11-21 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Obs adicional : esse procedimento de fazer UPDATE se o registro existe ou INSERT se não existe normalmente é conhecido entre os especialistas como UPSERT (embora não seja um termo oficial é de praxe no mercado), e no RDBMS Oracle ele é efetuado com o comando MERGE - dá um look em

[oracle_br] Re: Saber se um update foi feito

2017-11-21 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Não, colega, vc está Equivocado : um UPDATE que não atualizou nenhuma linha Não Levanta EXCEPTION alguma , isso Absoluta, Completamente, Totalmente Não É ERRO... https://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:6030823496627 já registra isso, mas tal comportamento

Re: [oracle_br] Saber se um update foi feito

2017-11-21 Por tôpico Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
"Mas uma coisa que não entendi no seu exemplo, primeiro ele vai dar um update (registro, pode existir ou não), e ai caso aconteça algo que pelo que entendi seria uma Exception (você também pode criar suas exceptions), daí vai fazer o insert na mesma tabela. Explica melhor isso aí para que possamos

Re: [oracle_br] Saber se um update foi feito

2017-11-21 Por tôpico Luis Freitas lfreita...@yahoo.com [oracle_br]
Emerson,    Porque não trocar tudo pelo MERGE? Fica mais ou menos assim: MERGE INTO tabela1 t1    USING DUAL    ON (t1.campo1 = Valor1)  WHEN MATCHED THEN    UPDATE SET t1.campo2 = Valor2  WHEN NOT MATCHED THEN    INSERT (campo1, campo2)    VALUES (Valor1, Valor2); Atc,Luis Freitas On

Re: [oracle_br] Saber se um update foi feito

2017-11-21 Por tôpico Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
Boa tarde, Agora que entendi mais ou menos o que você quer fazer... Creio que vai ser POG, mas daria para ter uma tabela de LOG e trigger na tabela e usar a exception que vai estourar em cima da tabela de log... Se tiver feito o update... insere em outra tabela... Mas uma coisa que não

Re: [oracle_br] Saber se um update foi feito

2017-11-21 Por tôpico Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
Boa tarde, Se sua tabela tiver uma chave primária ou única, você pode usar a exception WHEN DUP_VAL_ON_INDEX THEN https://docs.oracle.com/cd/E18283_01/appdev.112/e17126/errors.htm Atenciosamente, [RED] Rodrigo Mufalani - Dir. Técnico rodr...@mufalani.com.br +55 21 988 994 817

[oracle_br] Saber se um update foi feito

2017-11-21 Por tôpico emerson.sanc...@gmail.com [oracle_br]
Boa tarde pessoal. Em alguma situações, quero fazer um insert em uma tabela (sempre via procedure) e se ja houver um registro igual na tabela, faço a alteração nesse registro. Ex Procedure Insert_Dados begin insert into Tabela1(Campo1, Campo2) valeus (Valor1 , Valor2);