IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQL SRV 2005] Suppression de toutes les données


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut [SQL SRV 2005] Suppression de toutes les données
    Bonjour,

    Je débute actuellement avec les procédures stockées et je souhaiterai faire une procédure qui me viderai toutes mes tables mais je ne sais pas comment m'y prendre. Peut être existe il déjà une sp qui le fais??

    D'avance je vous remercie.

    OLBI

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    bonjour,

    pas à ma connaissance, voici un exemple qui fait un truncate sur toutes les tables d'une base (à utiliser avec précaution !). Il faut créer la proc dans la base dans laquelle sont les tables :

    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
     
    create proc purge_tables
    as
    select name into #tablelist from sys.objects where type='U';
     
    declare @nb_lignes int, @name nvarchar(128)
    select @nb_lignes=count(*) from #tablelist
     
    while (@nb_lignes > 0)
    begin
     
    	select top 1 @name=name from #tablelist
    	execute ('truncate table '+@name)
     
    	delete from #tablelist where name=@name
    	select @nb_lignes=count(*) from #tablelist
     
    end
    Emmanuel T.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    Merci!!

    Je vais tester la procédure immédiatement. Juste une question que signifie

    #tablelist?


    Merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    c'est une table temporaire créée dans la base tempdb qui sert à stocker la liste des noms de tables pour y boucler dessus. Elle est supprimée à la sortie de la proc.
    Emmanuel T.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2002] Suppression de toutes les données saisies dans sous-formulaire
    Par Ugolau dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2013, 01h38
  2. Réponses: 1
    Dernier message: 25/05/2012, 08h57
  3. [SQL SRV 2005] Quelques questions sur les jobs
    Par Kropernic dans le forum Administration
    Réponses: 16
    Dernier message: 14/02/2012, 10h52
  4. Réponses: 3
    Dernier message: 23/05/2008, 11h45
  5. Suppression de toutes les tables dans une base de données
    Par GDMINFO dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2007, 08h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo