Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/01/2008, 11h07   #1
Membre du Club
 
Étudiant
Inscription : avril 2007
Messages : 165
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 165
Points : 40
Points : 40
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 :
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
widom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 11h13   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
le WITH se déclare en tout premier dans la requête SQL
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 11h17   #3
Membre du Club
 
Étudiant
Inscription : avril 2007
Messages : 165
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 165
Points : 40
Points : 40
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?
widom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 11h34   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
http://download.oracle.com/docs/cd/B...2.htm#i2066378
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 12h02   #5
Membre du Club
 
Étudiant
Inscription : avril 2007
Messages : 165
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 165
Points : 40
Points : 40
C'est bien ce que j'ai fait... mais le probleme est que ça marche pas dans une table function ?
widom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 13h13   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
parce que t'as pas mis le WITH en tout premier dans la requête.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 13h20   #7
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
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 :
1
2
 
SELECT (WITH t AS (SELECT * FROM dual) SELECT * FROM t) FROM dual
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 13h21   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
certes... mais comme la requête SQL semble top secrète on ne peut pas aider d'avantage que : WITH doit être avant SELECT
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 13h26   #9
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Code :
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 )
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 16h09   #10
Membre du Club
 
Étudiant
Inscription : avril 2007
Messages : 165
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 165
Points : 40
Points : 40
Citation:
Envoyé par laurentschneider Voir le message
Code :
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...
widom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 16h12   #11
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
peut-être qu'il te manque une paranthèse, style

MULTISET((with mylist as (select ...) select ...))
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/01/2008, 17h19   #12
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
La sempiternelle question
Quelle version d'Oracle ??
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 14h21   #13
Membre du Club
 
Étudiant
Inscription : avril 2007
Messages : 165
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 165
Points : 40
Points : 40
Citation:
Envoyé par Garuda Voir le message
La sempiternelle question
Quelle version d'Oracle ??
oracle 9i2
widom est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h03.


 
 
 
 
Partenaires

Hébergement Web