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

Oracle Discussion :

Syntaxe sql "RELATIONAL"


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Par défaut Syntaxe sql "RELATIONAL"
    Bonjour,

    Je sèche sur cette syntaxe notamment le "relational" quelqu'un peut m'expliquer ce mot clef
    il n'y a rien sur le net...
    J'ai modifier le code évidement ce n'est pas la requête d'origine...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL> with t as (select 1 num from dual) select * from relational(t);
     
           NUM
    ----------
         1
     
    SQL>


    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    quel est votre sgbd ?

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Par défaut
    C'est sous Oracle.

    Yvan.

  4. #4
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Est-ce que ce pourrait-être une fonction "maison" ?
    Car personnelement je travaille sous Oracle et vadrouille sous pas mal de tuto et j'ai jamais vu cette fonction.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Par défaut
    Citation Envoyé par lola06 Voir le message
    Est-ce que ce pourrait-être une fonction "maison" ?
    Car personnelement je travaille sous Oracle et vadrouille sous pas mal de tuto et j'ai jamais vu cette fonction.
    En complément d'information...


    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
    SQL> select object_type, object_name from dba_objects where object_name = 'RELATIONAL';
     
    no rows selected
     
    SQL> desc v$reserved_words;
     Name					   Null?    Type
     ----------------------------------------- -------- ----------------------------
     KEYWORD					    VARCHAR2(30)
     LENGTH 					    NUMBER
     RESERVED					    VARCHAR2(1)
     RES_TYPE					    VARCHAR2(1)
     RES_ATTR					    VARCHAR2(1)
     RES_SEMI					    VARCHAR2(1)
     DUPLICATE					    VARCHAR2(1)
     
    SQL> select KEYWORD from v$reserved_words where KEYWORD like '%RELATIONAL%';
     
    KEYWORD
    ------------------------------
    RELATIONAL
     
    SQL>

  6. #6
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Si on déplace ton sujet dans la partie Oracle du forum, tu as peut être une chance d'avoir une réponse...
    (Pas la moindre idée pour ma part)

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bonjour

    La fonction Relational semble prendre une table en entrée et retourne une table.

    Si la table en entrée est une table ... relationnelle, la fonction est neutre.

    En revanche, j'ai essayé en mettant en entrée une table objet; dans ce cas, ça rajoute une colonne au retour du SELECT.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE OR REPLACE TYPE fan_typ AS OBJECT
      ( fan_Id NUMBER,
        fan_Name VARCHAR2(64));
     
    CREATE TABLE fanclub_member OF fan_typ;
     
     
    select * from  fanclub_member;
     
    select * from relational(fanclub_member);
    Ne l'utilisant jamais, et n'étant pas du tout un expert Oracle je ne peux pas en dire plus. La nom même de la fonction rend la recherche sur le net très difficile (c'est le moins que l'on puisse dire).

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Par défaut
    C'est vrai que j'ai forcé une syntaxe un peu trop Oracle. (A vrai dire je ne sais pas si cela existe dans un autre sgbd !?)

    La requête sous forme plus conventionnel :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SQL> create table t (a number);
     
    Table created.
     
    SQL> select * from relational(t);
     
    no rows selected
     
    SQL>
    Yvan

  9. #9
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Par défaut
    Ben justement tout est dit ça fait 15 ans que je fais de l'Oracle !!! et je n'ai jamais vu cette syntaxe d'ou ma question...

    C'est apparu avec la >= 9i visiblement ne fonctionne pas en 8i


    Yvan.

  10. #10
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Par défaut
    Merci pour cette réponse.
    Je suis tombé sur quelques documentations, mais j'ai vite eu mal à la tête

    Yvan.

  11. #11
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je ne pense pas que ce soir documenté, sinon je m'attendrais à le trouver en recherchant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     relational site:docs.oracle.com/cd/E11882_01/server.112/e26088/img_text
    dans google (c'est l'URL de tous les diagrammes de syntaxe SQL de la doc 11g)

    Il semble que ce soit utilisé par DataPump en mode direct.

    Donc il n'y a pas vraiment de raison de l'utiliser.
    D'où vient cette idée ?

    Cordialement,
    Franck.

  12. #12
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bonjour,

    Je ne pense pas que ce soir documenté, .
    En tout cas, ce n'est pas dans le Oracle Sql Reference.

    J'ai juste trouvé le comportement sus-mentionné par intuition en me disant que cela devait avoir à faire avec les tables non relationnelle.

Discussions similaires

  1. [Requête/SQL]Pb de "quote" avec un type memo
    Par Tintou dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 26/04/2007, 15h47
  2. Syntaxe de la balise [quote]
    Par BainE dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 28/11/2005, 22h23

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