Aug 23 2011

#QuickTip 8 - [SQL Server] Como apagar todos os registros de todas as tabelas

Category: QuickTip | SQL ServerSuzuki @ 03:19

Olá pessoal,
Esta postagem de hoje tem o objetivo de mostrar um comando útil pra você limpar sua base de dados e colocar em produção (provavelmente).
Se você esta usando o SQL Server e se perguntar algumas questões como estas abaixo:
Como deletar todos os dados de todas as tabelas de uma vez?
Como apagar todos os registros de todas as tabelas da base de dados?
É possivel deletar todos os registros de todas as tabelas?
Aqui você pode encontrar uma alternativa.

Antes de iniciar, é bom explicar o processo que será seguido:

  1. desabilitar todas as constraints de todas as tabelas.
  2. deletar os dados.
  3. habilitar todas as constraints de todas as tabelas.

Para "zerar" os dados das nossas tabelas, vamos usar a dica de outro post, e vamos utilizar a procedure SP_MSFOREACHTABLE.
Veja a postagem : #QuickTip 4 - [SQL Server] Como executar um select count em todas as tabelas de uma base de dados

Atenção, cuidado ao usar o script abaixo!
Segue o script:

  1. -- Deletando todos os dados de todas a tabelas da base de dados   
  2. -- DESABILITA INTEGRIDADE REFERENCIAL   
  3. EXEC SP_MSFOREACHTABLE 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'     
  4. GO      
  5. EXEC SP_MSFOREACHTABLE '      
  6.  IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TABLEHASFOREIGNREF'') = 1      
  7.   DELETE FROM ?      
  8.  ELSE       
  9.   TRUNCATE TABLE ?'      
  10. GO      
  11. -- HABILITA INTEGRIDADE REFERENCIAL    
  12. EXEC SP_MSFOREACHTABLE 'ALTER TABLE ? CHECK CONSTRAINT ALL'     
  13. GO    

É isso. Alegre

Bons estudos!
Simplificando e desmitificando.
Até a próxima.


Bem-aventurado aquele servo a quem o seu senhor, quando vier, achar fazendo assim. (Lucas 12:43)

Share or Bookmark this post…

Tags: , , , , ,

Kommentare

1.
pingback thiagosatoshisuzuki.wordpress.com says:

Pingback from thiagosatoshisuzuki.wordpress.com

#QuickTip 8 – [SQL Server] Como apagar todos os registros de todas as tabelas « Thiago Satoshi Suzuki

Voeg kommentaar By


(Sal you Gravatar ikone vertoon)

  Country flag

biuquote
  • Opmerkings
  • Voorskou
Loading