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 :

[12.5.4] dynamic sql


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 [12.5.4] dynamic sql
    Bonjour,
    Je viens de faire une procedure afin de recuperer les requêtes des grant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     create proc test_HBU
    as
    begin
    declare @cmd2 varchar(255)
    set nocount on
    select @cmd2 = "select 'grant execute on '+ p.name + ' to g_readonly' + char(10
             ) + 'go' from Perf..sysobjects p
    where p.type = 'P'"
    exec (@cmd2)
    if @@error > 0
    raiserror 99999 'Error
      ocurred during report dynamic SQL exec'
    end
    J'arrive à avoir le contenu des grants conseilsmais comment puis-je faire pour les executer ?

    merci de vos conseils .

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Bonjour,

    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
    23
    24
    25
    26
    27
    28
    29
    CREATE proc test_HBU
    AS
    begin
    SET nocount ON
     
    declare @t varchar(29)
     
    CREATE TABLE #tables (
        name varchar(29) NOT NULL,
        trait char(1) DEFAULT 'N' NOT NULL
    )
     
    INSERT #tables (name)
    SELECT DISTINCT name
    FROM Perf..sysobjects
    WHERE type = 'P'
     
    WHILE EXISTS (SELECT * FROM #tables WHERE trait = 'N')
    BEGIN
        SELECT @t = name FROM #tables
     
        EXEC("grant execute on " + @t + " to g_readonly")
     
        IF @@error > 0
            raiserror 99999 'Error ocurred during report dynamic SQL exec'
     
        UPDATE #tables SET trait = 'O' WHERE name = @t
    END
    END
    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

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

Discussions similaires

  1. [Oracle 9i] Utiliser un record en dynamic SQL
    Par Milo59000 dans le forum SQL
    Réponses: 3
    Dernier message: 02/05/2008, 20h24
  2. [PRO*C] ANSI Dynamic SQL - type objet
    Par maxtin dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 11/04/2008, 16h19
  3. requete dynamic sql
    Par sunwind dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/08/2007, 17h03
  4. [Firebird 1.5] Dynamic SQL error (-303)
    Par crade dans le forum SQL
    Réponses: 1
    Dernier message: 15/06/2007, 21h32
  5. [FireBird] Dynamic SQL Error
    Par aityahia dans le forum SQL
    Réponses: 1
    Dernier message: 28/05/2007, 10h12

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