Pular para o conteúdo principal

Excluir apenas alguns registros com só uma SQL


Prezados,

Mais uma vez, uma dica que ajuda demais em casos específicos como quando, por exemplo, você precisa excluir apenas alguns registros de uma tabela mas não quer executar sempre o mesmo comando trocando apenas o identificador do registro.  O comando "IN" ajuda bastante nisso, veja como aplicar.

Normalmente usaríamos:

DELETE FROM seubancodedados.suatabela WHERE campo = valordocampo1
DELETE FROM seubancodedados.suatabela WHERE campo = valordocampo2
DELETE FROM seubancodedados.suatabela WHERE campo = valordocampo3
etc.

Aplicando o "IN" temos:

DELETE FROM seubancodedados.suatabela WHERE campo IN (valordocampo1, valordocampo2, valordocampo3)

Dessa forma com apenas um com comando você exclui somente os registros que tenham os identificadores valordocampo1, valordocampo2 etc. isso sem apagar toda a tabela.  Ele funciona em qualquer comando/sintaxe onde você tenha que comparar se o valor a ser modificado é igual ao que você precisa modificar.

Abraços.


Comentários

Postagens mais visitadas deste blog

X5 - SEU ACESSO A ESTE SISTEMA FOI BLOQUEADO - CEF

Prezados, Um amigo meu teve seu acesso ao site da Caixa Econômica Federal - CEF foi bloqueado.  Ao ligar para o suporte, não obteve sucesso no desbloqueio, sendo a única "alternativa" FORMATAR A MÁQUINA para que assim, a "identificação" do computador pudesse mudar, tudo ser reinstalado com essa nova identificação e desbloqueado o acesso. Não contente com isso buscamos na internet algum caso parecido e nos deparamos com vários casos iguais e com a mesma "solução".    Sendo esta uma solução "fatal",  um dos comentários de um caso no site "Reclame Aqui" ofereceu uma solução melhor: "Va até o painel de controle e desinstale o programa "WARSAW", quando reiniciar o computador entre novamente no site pelo IE ou CHROME ele vai reinstalar o programa . Pronto Resolvido!" Feito isso ao tentar acessar o site é instalado novamente o "módulo de segurança" (que demora bastante por sinal) e tudo voltou ao normal.

Excluindo arquivos e pastas de backup antigas automaticante - FORFILES

Tenho rotinas de backup que copiam/criam diretórios e estes são compactados.  O problema é que, se os mais antigos não forem apagados, perde-se grandes espaços em disco.  Buscando soluções para linhas de comandos em arquivos bat (batch/DOS) encontrei o (milagroso) comando FORFILES onde com duas linhas de comando, resolvi meu problema: 1 - apaga somente os arquivos .rar com mais de 3 dias FORFILES /P "c:\seudiretorio\seusubdiretorio" /M *.rar /D -3 /C "cmd /c echo @path" 2 - apaga os arquivos dos diretórios com mais de 3 dias FORFILES /P "D:\Backup_Geral\Backup_DBs_EGTec" /D -3 /C "cmd /c del @path /q" 3 - Apaga os diretórios com mais de 3 dias FORFILES /P "D:\Backup_Geral\Backup_DBs_EGTec" /D -3 /C "cmd /c rd @path /s /q" Com estes comandos sendo executados por um arquivo batch (.bat) os backups com mais de 3 dias (no meu caso) são excluídos automaticamente. Para maiores detalhes sobre o comando e seus parâmetros

Acentos em Alert box - Javascript

Esta é para quem, assim como eu, sempre teve problemas de acentuação de caracteres nas caixas de alerta do javascript em suas páginas: substitua o acento pelo seu código em Unicode. Por exemplo: alert('Este é um teste de acentuação em um Alert Box.'); Mensagem substituída: alert(' Este \u00e9 um teste de acentua\u00e7\u00e3o em um Alert Box .'); Segue a tabela de codificação a ser utilizada: á = \u00e1 à = \u00e0 â = \u00e2 ã = \u00e3 ä = \u00e4 Á = \u00c1 À = \u00c0 Â = \u00c2 Ã = \u00c3 Ä = \u00c4 é = \u00e9 è = \u00e8 ê = \u00ea ê = \u00ea É = \u00c9 È = \u00c8 Ê = \u00ca Ë = \u00cb í = \u00ed ì = \u00ec î = \u00ee ï = \u00ef Í = \u00cd Ì = \u00cc Î = \u00ce Ï = \u00cf ó = \u00f3 ò = \u00f2 ô = \u00f4 õ = \u00f5 ö = \u00f6 Ó = \u00d3 Ò = \u00d2 Ô = \u00d4 Õ = \u00d5 Ö = \u00d6 ú = \u00fa ù = \u00f9 û = \u00fb ü = \u00fc Ú = \u00da Ù = \u00d9 Û = \u00db ç = \u00e7 Ç = \u00c7 ñ = \u00f1 Ñ = \u00d1 & = \u0