1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| -- paramétrage du schéma, par défaut dbo
DECLARE @monSchema NVARCHAR(128) SET @monSchema = 'monSchema'
-- Récupération de la liste des tables contenues dans le contexte
-- de base de données courant et pour le schéma paramétré
DECLARE curTables CURSOR FOR
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_CATALOG = DB_NAME()
AND TABLE_SCHEMA = @monSchema
AND TABLE_NAME NOT LIKE 'sys%'
AND TABLE_NAME NOT LIKE 'dt%'
FOR READ ONLY
-- Pour chaque nom de table récupéré dans le curseur,
-- création de la commande de suppression des lignes
DECLARE @nomTable NVARCHAR(128),
@SQLCommand NVARCHAR(128)
OPEN curTables
FETCH NEXT FROM curTables INTO @nomTable
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQLCommand = 'DELETE FROM ' @monSchema + '.' + @nomTable
PRINT @SQLCommand -- Affichage de la commande qui sera exécutée si la ligne suivante n'est plus en commentaire
--EXEC (@SQLCommand) -- Exécution de la commande
FETCH NEXT FROM curTables INTO @nomTable -- table suivante !
END |
Partager