Página 1 de 1
Linhas Afetadas no MariaDb
Enviado: 12 Mar 2020 19:10
por asimoes
No Oracle executando o update abaixo sempre retorna 1 linha afetada ou atualizada, no MariaDb só acontece uma vez, se executar novamente o update retorna 0 linhas afetadas
Será alguma configuração?
Código: Selecionar todos
UPDATE IMPETQ
SET HORA = '18:52:00',
STATUS = 'I',
QTDETQ = 701
WHERE DATA = '2020-03-11' AND OPC = '01'
Linhas Afetadas no MariaDb
Enviado: 12 Mar 2020 19:40
por JoséQuintas
Elementar meu caro ASimões, já comentei isso em outro post.
Porque o MariaDB vai atualizar alguma coisa, se não precisa atualizar?
UPDATE test SET VALOR = 0
É como se o MariaDB alterasse para:
UPDATE test SET VALOR = 0 WHERE VALOR <> 0
Leitura é rápida, gravação é demorada, então..... ele grava só se precisar !!!
No futuro vai sair uma mão, dar um tapa na testa e dizer: já troquei porque quer trocar de novo porque? kkkkkk
Linhas Afetadas no MariaDb
Enviado: 12 Mar 2020 20:24
por asimoes
Pois é isso foi a discussão aqui no trabalho, o oracle faz diferente sempre atualiza a tabela mesmo que os valores sejam iguais, o entendimento é que quem manda é o programador se ele quer atualizar os mesmos valores o BD tem que atualizar, mas isso vai de banco para banco coisas do oracle, eu só queria saber se existe alguma configuração para modificar esse default
Linhas Afetadas no MariaDb
Enviado: 12 Mar 2020 20:30
por asimoes
Eu tive que modificar uma função por causa disso, a função fazia um update primeiro o execute tava assim oCommand:Execute(@nCont) se esse nCont retornasse 0 (zero) era feito um insert na tabela, no oracle isso funciona, se não existe registro para atualizar é um insert, se tem o ncont retorna > 0, só que no MariaDb a coisa é diferente.
Linhas Afetadas no MariaDb
Enviado: 12 Mar 2020 20:49
por JoséQuintas
Por enquanto eu acho a situação esquisita.
O normal seria primeiro verificar se tem, pra decidir se atualiza ou insere.
Mas nunca se sabe o que vamos precisar no futuro.
O MySQL tem o INSERT IGNORE, para incluir se ainda não existir, com o acrésimo de uma alternativa pra atualizar caso já exista.
Não sei se atenderia a situação.
Linhas Afetadas no MariaDb
Enviado: 12 Mar 2020 21:41
por asimoes
Acabei criando um select antes para decidir se vai atualizar ou inserir, deve ser assim a solução