mardi 4 mars 2014

[SQL] : Suppression de plusieurs tables sans utilisation de curseur

Un petit post rapide pour montrer comment supprimer plusieurs tables sans passer par un curseur.

Dans mon cas, le but était de supprimer toutes les tables du schéma "staging" afin d'en recréer, que celles qui sont vraiment utilisées.

Pour cela, une façon rapide consiste à utiliser le script suivant :

USE MyDB
GO
DECLARE @cmd VARCHAR(MAX)=''
SELECT
@cmd = @cmd + 'DROP TABLE ' + TABLE_NAME + ';
'
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'stg'
PRINT (@cmd)

EXEC (@cmd)


Ce script peut être adapté pour d'autres cas d'usages.

Aucun commentaire:

Enregistrer un commentaire