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 :

Redirection de resultats de requete


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Par défaut Redirection de resultats de requete
    Bonjour à tous ,

    Je souhaite pourvoir éxécuter le resultat de cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use WinXS
    select 
    'EXEC sp_dropuser N'''+u.name + ''' '
    /*
    u.name as Utilisateur
    ,g.name as Groupe
    ,x21.LoginName
    */
    FROM sysusers u JOIN sysusers g ON u.gid = g.uid
    left join WinXS..x21 x21 ON u.name = x21.LoginName
    WHERE g.name LIKE 'WinXS%' AND NOT u.name = g.name
    order by g.name, u.name
    Vers une autre base de données automatiquement.

    Le resultat se presente sous cette forme:
    EXEC SP_dropuser N'dupont'

    ou sinon pour exporter le resultat dans un fichier *.sql que je redirige avec un batch.

    Merci pour vos reponses

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Vous pouvez faire cela en SQL dynamique, mais je ne comprends pas comment vous pouvez tenter de supprimer des utilisateurs de base de données à partir de la liste des utilisateurs d'une autre base de données.

    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
    DECLARE @SQL VARCHAR(MAX)
    SELECT @SQL = ISNULL(@SQL, 'USE WinWS; ') + 'EXEC sp_dropuser N''' + u.name + '''; '
    FROM sysusers u
    JOIN sysusers g
    	N u.gid = g.uid
    LEFT JOIN WinXS..x21 x21
    	ON u.name = x21.LoginName
    WHERE g.name LIKE 'WinXS%'
    AND NOT u.name = g.name
    ORDER BY g.name, u.name
     
    -- PRINT @SQL
     
    USE monAutreBaseDeDonnees
    EXEC (@SQL)
    Veillez à utiliser la balise [CODE] (bouton #) et citation (à gauche du bouton #) pour publier

    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Par défaut
    Merci pour la réponse,
    En fait quand je restore une base de données les utilisateurs de celle-ci doivent etre supprimer et recreer dans 2 bases.
    Et la liste des utilisateurs se trouvent dans la x21

    En executant cette solution j'obtiens les erreurs suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Serveur*: Msg 170, Niveau 15, État 1, Ligne 1
    Ligne 1 : syntaxe incorrecte vers 'MAX'.
    Serveur*: Msg 137, Niveau 15, État 1, Ligne 2
    La variable '@SQL' doit être déclarée.
    Serveur*: Msg 137, Niveau 15, État 1, Ligne 15
    La variable '@SQL' doit être déclarée.
    pour information , je travaille sous SQL 2000

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    OK, vous êtes sous SQL Server 2000, et dans cette version de SQL Server, le type CLOB VARCHAR(MAX) n'existait pas.
    Vous allez donc devoir le remplacer par un VARCHAR(8000) (attention donc à contrôler que la longueur de la requête).

    @++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 45
    Par défaut
    Bonsoir maitre elsuket !!
    Merci le script fonctionne sans probleme.

    je vais pouvoir finaliser mon batch !!
    (je vais chercher le bouton resolu )

    Bonne soirée.

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonsoir maitre elsuket !!
    Tout de même
    Avouez que vous n'avez pas trop cherché la source de l'erreur

    A bientôt sur le forum

    @++

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

Discussions similaires

  1. [debutant]Est-ce possible un tel resultat de requete???
    Par kenzo080 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/07/2005, 02h50
  2. creer champ avec valeur constante dans resultat de requete
    Par freejeje dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/05/2005, 10h52
  3. Resultats de requetes vides et pourtant !!
    Par ahage4x4 dans le forum ASP
    Réponses: 2
    Dernier message: 19/05/2005, 15h30
  4. [C#] Affichage resultat de requete dans 2 Labels
    Par kenzo080 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 02/06/2004, 20h07
  5. resultat de requete jointe
    Par jjn1er dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/09/2003, 10h50

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