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 :

Resultat d'une requete DELETE SQL SERVER 2000


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Resultat d'une requete DELETE SQL SERVER 2000
    Bonjour,

    Je cherche a éxécuter une requete DELETE (avec l'analyseur de requête MS) et visualiser les lignes supprimées pour générer un rapport de suppression.

    Actuellement j'ai uniquement le nombre de lignes supprimer sans avoir le nom des tables.
    Exemple de resultat:
    /*-----------------------------
    DELETE
    LeafNode

    from LeafNode, LeafNode as b, ReportFullPathNodeID


    -----------------------------*/

    (0 ligne(s) affectée(s))


    (1 ligne(s) affectée(s))


    (0 ligne(s) affectée(s))


    (0 ligne(s) affectée(s))


    (0 ligne(s) affectée(s))


    (0 ligne(s) affectée(s))


    (1 ligne(s) affectée(s))




    Server SQL 2000

    Merci

    Tronic

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Salut,

    c'est ca ta requete ?

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bonsoir,

    Non.
    L'exemple es le résultat affiché.

    Tronic

  4. #4
    Membre éprouvé Avatar de cubitus91
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 726
    Points : 933
    Points
    933
    Par défaut
    Tu dois mettre un trigger de On Delete.
    Cdt
    Le tag est bien utile, alors pensez y !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Ouaip, si tu files pas plus d'info t'attends pas à avoir une réponse satisfaisante

  6. #6
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    faire une sélection/insertion dans une table ou quelques choses du genre avec tes critères de suppression avant de supprimer ainsi tu auras les données pour faire ton rapport
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut réponse
    pour ce probleme tu peux utiliser un trigger exemple :


    1.create trigger sup
    2.on x after delete
    3.as
    4.UPDATE y SET nbrtv = nbrtv - 1
    5.FROM y AS a
    6.JOIN deleted AS b ON (a.dep = b.dept)
    7.select * from deleted

    1 pour creer le trigger
    2.la requette se fait apres la suppression
    6.plus important : le deleted est un tableau qui contient l'instruction supprimé alors tu peut avoir les information de ce dernier
    comme par exemple le point 7 je met select * from deleted et il m'affiche tt les ligne supprimer .
    rmq et y sont deux tables.

  8. #8
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos réponses.

    Voici la requête de suppression (je l'exécute dans l'analyseur de requêtes du client SQL server 2000):

    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
    19
    20
    21
    22
    DELETE 
    LeafNode
    FROM LeafNode, LeafNode as b, ReportFullPathNodeID
    WHERE (LeafNode.nodename = b.nodename) and 
    	(LeafNode.type = b.type) and 
    	(LeafNode.type=1) and 
    	(LeafNode.autoID != b.autoID ) and 
    	(LeafNode.ParentID *= ReportFullPathNodeID.LowestNodeID ) and
    	(LeafNode.nodename like 'H%') and 
    	(LeafNode.LastUpdate < 
    	(
    	SELECT MAX(c.LastUpdate) 
    	FROM LeafNode as c,LeafNode as d, ReportFullPathNodeID 
    	WHERE 
    	(c.nodename = d.nodename) and 
    	(c.type = d.type) and 
    	(c.type=1) and 
    	(c.autoID != d.autoID ) and 
    	(c.ParentID *= ReportFullPathNodeID.LowestNodeID ) and
    	(c.nodename = LeafNode.nodename)
    	)
    	)
    Je ne suis pas un expert en BDD ;-), mais en PHP Mysql tu récupères un tableau des lignes supprimées.
    Je n'ai pas bien compris Soumia93 pour les trigger ? Quand et ou placer ma requête ?

    Pour le SELECT avant le DELETE. Oui, mais je préférerai une solution sur le DELETE car avec le SELECT tu n’as pas toutes les suppressions des jointures et dépendances.

    Merci

    Tronic

  9. #9
    Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    J'ai utilisé la méthode de Morsi (Selecte, inserte). Pas de problème pour réaliser mon rapport.

    Mais n'est il pas possible d'utiliser les logs de transactions (en consultation) ?

    Merci

    Tronic

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 847
    Points : 52 961
    Points
    52 961
    Billets dans le blog
    6
    Par défaut
    PAs dans SQL Server, mais avec des outils tiers comme LOgEXplorer de LUmigent ou encore Apex.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  11. #11
    Membre habitué Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par soumia83
    pour ce probleme tu peux utiliser un trigger exemple :


    1.create trigger sup
    2.on x after delete
    3.as
    4.UPDATE y SET nbrtv = nbrtv - 1
    5.FROM y AS a
    6.JOIN deleted AS b ON (a.dep = b.dept)
    7.select * from deleted

    1 pour creer le trigger
    2.la requette se fait apres la suppression
    6.plus important : le deleted est un tableau qui contient l'instruction supprimé alors tu peut avoir les information de ce dernier
    comme par exemple le point 7 je met select * from deleted et il m'affiche tt les ligne supprimer .
    rmq et y sont deux tables.
    En fait, deleted est un tableau qui contient automatiquement les lignes supprimées car je ne vois pas l'instruction qui la remplie!
    La vie n'est qu'une suite de tests...(pas unitaires )

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2009, 16h13
  2. déploiement d'une application vb6 sql server 2000 en réseau
    Par roumayne dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/07/2007, 10h23
  3. Réponses: 1
    Dernier message: 02/04/2007, 11h23
  4. INSERER DU TEXTE AVEC DES CHAMPS DANS UNE REQUETE SUR sql Srv 2000
    Par sauceaupistou dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/03/2007, 10h02
  5. Mettre à jour une base sous SQL SERVER 2000
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/02/2005, 12h24

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