Estou usando o Microsoft SQL Server 2008. Minha pergunta é: Como descartar várias tabelas com prefixo comum em uma consulta?
algo como os nomes das tabelas:
LG_001_01_STLINE,
LG_001_02_STFICHE
sql-server
sql-server-2008
drop-table
Violoncelo
fonte
fonte
Eu executei essa consulta e colei os resultados novamente na janela de consulta para soltar todas as tabelas:
Se você deseja excluir todas as tabelas, mas mantenha aquelas com nomes que começaram com A, B, C ou D:
fonte
Isso permite excluir um número muito maior de tabelas.
fonte
Eu gosto deste que eu escrevi:
fonte
STATIC
e / ouLOCAL FAST_FORWARD
] ( sqlperformance.com/2012/09/t-sql-queries/cursor-options ). (3) Você não deve usar modos de exibição obsoletos e de compatibilidade com versões anterioressysindexes
. (4) Seu script assume que todas as tabelas estão nodbo
esquema (ou pior, o esquema padrão do usuário em execução, que pode até não estardbo
).Isso pode ser feito da
execute
seguinte maneira:fonte
dbo
e 2) os nomes nunca podem conter um]
- os quais podem muito bem ser verdade no caso do OP, mas ainda assim seria bom É recomendável mencionar essas suposições, porque as advertências que se seguem podem não ser totalmente óbvias para outras pessoas. Ainda assim, como eu disse no começo, meu principal problema com esta resposta é que ela apenas reafirma uma sugestão já existente sem agregar nenhum novo valor.Execute a consulta acima e salve os resultados em um csv. Em seguida, abra esse CSV em um bloco de notas. Em seguida, pressione Ctrl + H para substituir o esquema pelo DROP TABLE SCHEMA, que fornecerá todas as consultas suspensas, copie e cole esse grande sql em sua ferramenta sql e execute
se seus resultados forem
depois de substituir, ficará assim
fonte
PRINT
instrução Como sua resposta é melhor que a resposta mais votada?