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

SQL Oracle Discussion :

requete pour lister les chained rows


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 27
    Par défaut requete pour lister les chained rows
    Bonjour a tous

    os : suse
    db : oracle 11g de base 32 bits

    j'ai un soucis de syntaxe que je n'arrive pas a résoudre

    je teste actuellement un script qui me génère la liste des tables chainées sur toutes les table de tous les schemas applicatif

    il plante lamentablement sur le code execute immediate :

    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
    begin
        for ownertable in
        	(
        	select '' || owner || '.' ||table_name|| ''
    		from dba_tables
    		where owner in (
    		select username from dba_users where default_tablespace not in ('SYSTEM','SYSAUX')
    		and username not in ('SYS','SYSTEM','OUTLN','WMSYS','DBSNMP'))
    	)
        loop
    		execute immediate 'analyze table ' || ownertable || 'list chained rows into chained_rows';
     
    	end loop;
    end;
    /
    je n'arrive pas trouver pourquoi

    merci d'avance

  2. #2
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Ca aurait ete pas mal de mentionner un message d'erreur...
    De toute facon, il semble qu'il s'agisse d'une erreur de syntaxe, essaies comme ca (en gras les changements):
    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
    begin
        FOR ownertable IN
        	(
        	SELECT owner, table_name
    		FROM dba_tables
    		WHERE owner IN (
    		SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX')
    		AND username NOT IN ('SYS','SYSTEM','OUTLN','WMSYS','DBSNMP'))
    	)
        loop
    		execute immediate 'analyze table ' || ownertable.owner ||'.'|| ownertable.table_name || ' list chained rows into chained_rows';
     
    	end loop;
    end;
    /
    En clair, a l'interieur de la boucle, tu dois mentionner non seulement le curseur, mais aussi le nom des colonnes du curseur lui-meme.

    Nicolas.

Discussions similaires

  1. Probleme requete pour lister les banques de boites aux lettres
    Par spykopat dans le forum Exchange Server
    Réponses: 1
    Dernier message: 20/08/2007, 11h56
  2. Requete pour obtenir les 25 premiers enregistrement
    Par dbizier dans le forum Oracle
    Réponses: 1
    Dernier message: 28/04/2006, 21h36
  3. Probleme de requete pour remplir les champs d'une table
    Par Jim_Nastiq dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/04/2006, 14h56
  4. requete pour compter les valeurs ds une colonne
    Par smariteau dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/02/2006, 17h37
  5. Je ne trouve pas la requete pour modifier les entrées...
    Par guttts dans le forum Langage SQL
    Réponses: 7
    Dernier message: 24/08/2005, 19h17

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