Estou usando o Microsoft SQL Server 2008. Minha pergunta é: Como descartar várias tabelas com prefixo comum em uma consulta?
algo como esses nomes de tabela:
LG_001_01_STLINE,
LG_001_02_STFICHE
Estou usando o Microsoft SQL Server 2008. Minha pergunta é: Como descartar várias tabelas com prefixo comum em uma consulta?
algo como esses nomes de tabela:
LG_001_01_STLINE,
LG_001_02_STFICHE
Você pode construir uma string usando as visualizações do catálogo, por exemplo:
É claro que existem armadilhas em potencial, por exemplo, se essas tabelas tiverem relacionamentos de chave estrangeira, você precisará eliminá-las primeiro ou organizar a saída para descartar as tabelas em uma determinada ordem.
Para obter apenas a lista de tabelas, use:
Executei esta consulta e colei os resultados de volta na janela de consulta para descartar todas as tabelas:
Se você deseja excluir todas as tabelas, mas manter aquelas com nomes que começam com A, B, C ou D:
Isso permite excluir um número muito maior de tabelas.
Gosto deste que escrevi:
Isso pode ser feito usando
execute
o seguinte:Execute a consulta acima e salve os resultados em um csv. Em seguida, abra esse CSV em um bloco de notas. Em seguida, faça Ctrl + H para substituir o esquema por DROP TABLE SCHEMA que fornecerá todas as consultas de descarte, copie e cole esse grande sql em sua ferramenta sql e execute
se seus resultados forem
depois de substituir, ficará assim