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 :

10g ou 11g : mot clé dans le Sélect renvoyant le nom de la table


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 198
    Points : 87
    Points
    87
    Par défaut 10g ou 11g : mot clé dans le Sélect renvoyant le nom de la table
    Bonjour

    Existe t'il un mot clé qui renvoit le nom de la table sur laquelle on requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Select [my table name keyword] as "table_name" from dual;
     
    Table_name
    ---------------
    DUAL
    L'intėrêt pour moi serait d'éviter les erreurs de copier coller ds mes requêtes où je veux absolument le nom de la table en colonne de sortie.

    Merci si y a un truc ou une piste

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 073
    Points
    8 073
    Par défaut
    Pouvez-vous donner un exemple plus développé et réaliste de votre besoin ?
    Tel quel, je ne vois absolument pas le but de la manoeuvre, d'autant que dans la vraie vie, on fait plutôt des jointures, et donc on a plusieurs tables.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 198
    Points : 87
    Points
    87
    Par défaut
    Merci pour votre attention

    en fait je fais des exports de table avec Kettle vers des fichiers CSV surlesquels je m'appuie pour éxecuter des Macros Word/Excel dans lequel j'ai besoin de récupérer le nom de la table sur laquelle on travaille pour piloter le comportement de la Macro.

    L'étape Kettle export me permet de définir le nom du fichier Export en s'appuyant sur un champ de la table.

    Comme j'ai plusieurs centaines de tables et l'extraction sous Kettle j'espérai pouvoir faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ID,PRIX,[KeyWord TableName] as "CSVFILENAME" from [myTable]
    en évitant d'avoir à chaque fois copier/coller le nom de la table dans la partie select c'est déjà assez fastidieux pour le FROM et compte tenu de la complexité du MCD je ne peux guère gérer ça en script dynamique.

    J'espère être plus clair, je cherche un peu de confort en somme dans la rédaction de mes requêtes d'extraction.

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 073
    Points
    8 073
    Par défaut
    Une chose est sure, c'est qu'il n'y a pas de pseudo colonne qui ramènerait le nom de la table directement.

    Peut-être pouvez-vous partir pour chaque table de la liste des colonnnes complètes, obtenue mécaniquement, et supprimer ensuite les colonnes qui ne vous intéressent pas ?

    Dans ce cas, ça pourrait se faire comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT 'select ''' 
           || Trim(table_name) 
           ||''',' 
           || Listagg(column_name, ',') 
                within GROUP (ORDER BY column_name) 
           || ' from ' 
           || table_name 
           || ';' AS liste 
    FROM   (SELECT t.table_name table_name, column_name 
            FROM   user_tab_columns c, 
                   user_tables t 
            WHERE  c.table_name = t.table_name) 
    GROUP  BY table_name;
    Exécuté sur le schéma SCOTT, on obtient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select 'BONUS',COMM,ENAME,JOB,SAL from BONUS;
    select 'DEPT',DEPTNO,DNAME,LOC from DEPT;
    select 'EMP',COMM,DEPTNO,EMPNO,ENAME,HIREDATE,JOB,MGR,SAL from EMP;
    select 'SALGRADE',GRADE,HISAL,LOSAL from SALGRADE;
    Ensuite, il vous reste à supprimer les colonnes inutiles.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 198
    Points : 87
    Points
    87
    Par défaut
    Ok pas de pseudo colonne pour table

    La requête de génération de select semi automatique est sympa

    merci

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

Discussions similaires

  1. Comment stocker des mots clés dans une bas Mysql
    Par renofx1 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 05/01/2006, 01h57
  2. [DEBUTANT]Recherche mot contenu dans une String
    Par lynxman dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 12h49
  3. [MySQL] mot réservé dans un nom de champ
    Par dreamwanderer dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/12/2005, 21h54
  4. Réponses: 2
    Dernier message: 21/07/2005, 12h50
  5. [FLASH MX] Mot cliquable dans un texte
    Par Greutzeb dans le forum Flash
    Réponses: 2
    Dernier message: 05/05/2005, 14h20

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