Bonjour à tous,
Petit nouveau dans la communauté, je souhaiterai avoir quelques éclaircissements sur le problème suivant:
J'ai créé cette petite routine me permettant de récupérer les noms et date de création de certaines tables de ma BDD pour pouvoir les supprimer automatiquement.
Cependant, j'ai une erreur sur le DROP TABLE (syntax error) dans la boucle WHILE, du fait que DROP TABLE interprète mal le passage de ma variable @NomTable comme Nom de table effectif.
Voici le code en question:
Je vous remercie d'avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 DECLARE @NomTable as varchar(50) CREATE TABLE AB_TABLES_TEMPO_SILOG (Nom varchar(50),DateCreation Datetime) INSERT INTO AB_TABLES_TEMPO_SILOG SELECT name,crdate from sysobjects where xtype='U' and left(name,8)='XPLANART' and len(name)>9 order by name DELETE FROM AB_TABLES_TEMPO_SILOG WHERE CAST(Datediff(day,0,GETDATE()) as DateTime) <= CAST(Datediff(day,0,DateCreation) as DateTime) SET @NomTable = (SELECT TOP 1 Nom FROM AB_TABLES_TEMPO_SILOG) WHILE @NomTable <> '' OR @NomTable <> NULL BEGIN SET @NomTable = (SELECT TOP 1 Nom FROM AB_TABLES_TEMPO_SILOG) DROP TABLE @NomTable DELETE FROM AB_TABLES_TEMPO_SILOG WHERE Nom=@NomTable END DROP TABLE AB_TABLES_TEMPO_SILOG
Bien cordialement.
Partager