Linhas Afetadas no MariaDb

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Linhas Afetadas no MariaDb

Mensagem 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'
2020-03-12 19_07_52-AsaPrev_asaprev_impetq_ - HeidiSQL 10.2.0.5599.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Linhas Afetadas no MariaDb

Mensagem 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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Linhas Afetadas no MariaDb

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Linhas Afetadas no MariaDb

Mensagem 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.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Linhas Afetadas no MariaDb

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Linhas Afetadas no MariaDb

Mensagem por asimoes »

Acabei criando um select antes para decidir se vai atualizar ou inserir, deve ser assim a solução
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder