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 :

la clause WITH AS


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut la clause WITH AS
    y a - t - il quelqu'un qui peut avoir une lien ou des document sur l'utilisation de cette clause.
    J'essaye de l'utiliser dans une table function :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
               SELECT   CAST(MULTISET(  
                                        WITH my_list AS
    ......
    mais ça marche pas. sachant que l'utilise dans mes programmes et ça marche coool!

    merci

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    le WITH se déclare en tout premier dans la requête SQL

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Citation Envoyé par orafrance Voir le message
    le WITH se déclare en tout premier dans la requête SQL
    dsl... mais je vois pas ce que vous dites? un peu plus du détail... un exemple?

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    C'est bien ce que j'ai fait... mais le probleme est que ça marche pas dans une table function ?

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    parce que t'as pas mis le WITH en tout premier dans la requête.

  7. #7
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par orafrance Voir le message
    le WITH se déclare en tout premier dans la requête SQL
    bon, on peut aussi avoir WITH dans une sous-requete ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select (with t as (select * from dual) select * from t) from dual

  8. #8
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    certes... mais comme la requête SQL semble top secrète on ne peut pas aider d'avantage que : WITH doit être avant SELECT

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SQL> create or replace function multiset (dummy char) return number 
    is begin return 1; end;
    Function created.
    SQL> select cast(multiset((with mylist as
    -- ... 
      (select * from dual)select * from mylist)) as number) n from dual
     
             N
    ----------
             1
     
     
    1 row selected.
    quel est le message d'erreur (pourquoi je pose toujours la même question )

  10. #10
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Citation Envoyé par laurentschneider Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SQL> create or replace function multiset (dummy char) return number 
    is begin return 1; end;
    Function created.
    SQL> select cast(multiset((with mylist as
    -- ... 
      (select * from dual)select * from mylist)) as number) n from dual
     
             N
    ----------
             1
     
     
    1 row selected.
    quel est le message d'erreur (pourquoi je pose toujours la même question )


    PL/SQL: ORA-00936: missing expression

    mais j'ai respecté la syntaxe...

  11. #11
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    peut-être qu'il te manque une paranthèse, style

    MULTISET((with mylist as (select ...) select ...))

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/10/2007, 17h58
  2. [9ir2] Utilisation de la clause WITH
    Par in dans le forum SQL
    Réponses: 9
    Dernier message: 19/09/2007, 10h27
  3. Réponses: 10
    Dernier message: 12/03/2007, 12h06
  4. PB avec la clause WITH
    Par faflenrage dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 31/08/2006, 17h28
  5. [PL/SQL] curseur et clause WITH
    Par ljoly dans le forum Oracle
    Réponses: 6
    Dernier message: 24/01/2006, 14h26

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