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

Adaptive Server Enterprise Sybase Discussion :

[ASE 12.5.0.3 ] génération de ddl


Sujet :

Adaptive Server Enterprise Sybase

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2003
    Messages : 148
    Points : 118
    Points
    118
    Par défaut [ASE 12.5.0.3 ] génération de ddl
    Bonjour,
    J'ai recupéré ce bout de code de fadace sur les f.A.Q sybase afin de generer les ddl des privilèges pour un utilisateur d'une base de donnée mais le script s'execute bien mais il me renvoie tous les resultats de tous les utilisateurs. comment faire pour avoir que ceux de mon utilisateur ?
    voici ci-dessous le script:

    select
    case p.protecttype
    when 206 then 'REVOKE'
    else 'GRANT ' end +
    case p.action
    when 26 then 'REFERENCES'
    when 178 then 'CREATE FUNCTION'
    when 193 then 'SELECT'
    when 195 then 'INSERT'
    when 196 then 'DELETE'
    when 197 then 'UPDATE'
    when 198 then 'CREATE TABLE'
    when 203 then 'CREATE DATABASE'
    when 207 then 'CREATE VIEW'
    when 222 then 'CREATE PROCEDURE'
    when 224 then 'EXECUTE'
    when 228 then 'BACKUP DATABASE'
    when 233 then 'CREATE DEFAULT'
    when 235 then 'BACKUP LOG'
    when 236 then 'CREATE RULE' end +
    ' ON ' + o.name +
    case when p.action < 200 then
    case when p.protecttype = 206 then ' FROM ' else ' TO ' END +u.name
    else '' end +
    case when p.protecttype = 204 then ' WITH GRANT OPTION' else '' end
    from sysprotects p
    inner join sysusers u on u.uid=p.uid
    inner join sysobjects o on o.id=p.id
    where p.columns = 0x01 OR p.columns is null
    and u.name ='username'
    order by o.name
    go




    Merci beaucoup.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Il faut ajouter des parenthèses pour la clause OR:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    from sysprotects p
        inner join sysusers u on u.uid=p.uid
        inner join sysobjects o on o.id=p.id
    where (p.columns = 0x01 OR p.columns is null)
       and u.name ='utilisateur'
    order by o.name
    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/04/2009, 09h35
  2. [ASE 12.5.0.3 ] génération de ddl
    Par dngaya dans le forum Sybase
    Réponses: 1
    Dernier message: 08/03/2007, 07h54
  3. [ASE 12.5] DDL d'un objet type table
    Par lsone dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 08/08/2006, 10h42
  4. [ASE 12.5] DDL d'un objet type table
    Par lsone dans le forum Sybase
    Réponses: 3
    Dernier message: 08/08/2006, 10h42

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