quinta-feira, 4 de julho de 2013

SQL Server - Truncar todas as tabelas de uma base de dados

Em muitos momentos quando construimos um sistema do início precisamos resetar os dados das tabelas por diversos motivos, desde remover dados inseridos ou atualizados equivocadamente até limpar os dados inseridos em tempo de desenvolvimento para a primeira release. E sabendo que você é uma programador que se preocupa com a integridade de seus dados, você criou relacionamentos de suas tabelas através de colunas de chave-estrangeira com referências as suas respectivas chaves- primária. Porém quando você tentar realizar o TRUNCATE das tabelas você precisa removê-las, caso contrário o SQL Server emitirá o erro "Cannot truncate table '<nome_da_tabela>' because it is being referenced by a FOREIGN KEY constraint.", que quer dizer que você não poderá realizar o TRUNCATE enquanto não remover os relacionamentos que está tabela está referenciada como chave-primária. O script do link abaixo poderá ajuda-lo com esta tarefa de realizar o TRUNCATE de todas as tabelas de uma base de dados. Sinta-se a vontade para adaptar o script as suas necessidades, até porque eu fiz isso, como pode ser visualizado no comentário.

Espero que ajude! :)


TRUNCATE: Significa cortar curto e vem de Trunk (tronco de árvore) + Cut (cortar)