Estoy usando Microsoft SQL Server 2008. Mi pregunta es: ¿Cómo soltar varias tablas con un prefijo común en una consulta?
algo así como los nombres de las tablas:
LG_001_01_STLINE,
LG_001_02_STFICHE
sql-server
sql-server-2008
drop-table
Violonchelo
fuente
fuente
Ejecuté esta consulta y luego pegué los resultados en la ventana de consulta para descartar todas las tablas:
Si desea eliminar todas las tablas pero mantener aquellas con nombres que comenzaron con A, B, C o D:
fuente
Esto le permite eliminar una cantidad mucho mayor de tablas.
fuente
Me gusta este que escribí:
fuente
STATIC
y / oLOCAL FAST_FORWARD
] ( sqlperformance.com/2012/09/t-sql-queries/cursor-options ). (3) No debería utilizar vistas de compatibilidad con versiones anteriores obsoletas comosysindexes
. (4) Su secuencia de comandos asume que todas las tablas están en eldbo
esquema (o peor, el esquema predeterminado del usuario ejecutor, que puede que ni siquiera lo estédbo
).Esto se puede hacer de la
execute
siguiente manera:fuente
dbo
, y 2) los nombres nunca pueden contener un]
- ambos pueden ser ciertos en el caso del OP pero aún así sería un buen idea mencionar esos supuestos, porque las advertencias que se derivan de ellos podrían no ser del todo obvias para otras personas. Aún así, como dije al principio, mi problema principal con esta respuesta es que simplemente repite una sugerencia ya existente sin agregar ningún valor nuevo.Ejecute la consulta anterior y guarde los resultados en un csv. Luego abra ese CSV en un bloc de notas. Luego haga Ctrl + H para reemplazar el esquema con DROP TABLE SCHEMA que le dará todas las consultas de caída, copie y pegue este gran sql en su herramienta sql y ejecute
si tus resultados son
después de reemplazar, se verá así
fuente
PRINT
declaración. ¿Cómo es tu respuesta mejor que la respuesta más votada?