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 :

Problème avec une requete with as select


Sujet :

SQL Oracle

  1. #1
    Membre du Club Avatar de pascal_T
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut Problème avec une requete with as select
    Bonjour suite un crash sur le forum, je n'ai pas reçu correctement la réponse de ma précédente question, je me permets donc de la reposer.

    Voici la requête suivante :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    with partie_ouv as
    	(
    select nat.idf_agent                          MATRICULE,
          his.nom_usuel || ' ' || his.nom_prenom NOM_PRENOM,  
    	substr(bul.cod_rub,1,3) COD_RUB,
           sum(bul.bas_rub)    BASE_OUVR ,   
           bul.tau_rub 	   TAU_OUVR,          
           sum(bul.mnt_rub)    MNT_OUVR  
    FROM og.ident_his his,
         rh.agtnat nat ,
         rh.agtpai pai ,
         rh.bulpai bul,
         rh.vue_charges vue
    WHERE   nat.ident_id   = his.ident_id
    and     pai.idf_agent = nat.idf_agent
    and     pai.num_emploi = 1
    and	pai.num_periode = 1
    and     pai.cod_coll ='INRIA'
    and     nat.cod_coll ='INRIA'
    and    	pai.cod_regret <>4
    and 	pai.idf_agent = bul.idf_agent
    --and 	pai.idf_agent= 75
    and 	pai.idf_cle = bul.idf_cle
    and 	pai.cod_regcot not in (61,62,63,64,65,66,67,68)
    AND   	nat.cod_coll ='INRIA'
    AND   	his.dat_debut <= sysdate
    AND   	his.dat_fin   > sysdate
    and	bul.cod_rub not like '8%R'
    and 	bul.cod_rub = vue.cod_rub
    and 	vue.typ_cotis ='IRC'                                      
    and 	ind_cotis ='O' 
    group by nat.idf_agent,his.nom_usuel ||' '|| his.nom_prenom,substr(bul.cod_rub,1,3),bul.tau_rub 
    ORDER BY nat.idf_agent,bul.tau_rub
          ), 
    partie_patr as
    	(   
    select nat.idf_agent                          MATRICULE,
    his.nom_usuel || ' ' || his.nom_prenom NOM_PRENOM,  
    substr(bul.cod_rub,1,3) COD_RUB,
    sum(bul.bas_rub)    BASE_PATR ,   
    bul.tau_rub 	   TAU_PATR,          
    sum(bul.mnt_rub)    MNT_PATR  
    FROM og.ident_his his,
    rh.agtnat nat ,
    rh.agtpai pai ,
    rh.bulpai bul,
    rh.vue_charges vue
    WHERE   nat.ident_id   = his.ident_id
    and     pai.idf_agent = nat.idf_agent
    and     pai.num_emploi = 1
    and	pai.num_periode = 1
    and     pai.cod_coll ='INRIA'
    and     nat.cod_coll ='INRIA'
    and    	pai.cod_regret <>4
    and 	pai.idf_agent = bul.idf_agent
    --and 	pai.idf_agent= 75
    and 	pai.idf_cle = bul.idf_cle
    and 	pai.cod_regcot not in (61,62,63,64,65,66,67,68)
    AND   	nat.cod_coll ='INRIA'
    AND   	his.dat_debut <= sysdate
    AND   	his.dat_fin   > sysdate
    and	bul.cod_rub not like '8%R'
    and 	bul.cod_rub = vue.cod_rub
    and 	vue.typ_cotis ='IRC'                                      
    and 	ind_cotis ='P' 
    group by nat.idf_agent,his.nom_usuel ||' '|| his.nom_prenom,substr(bul.cod_rub,1,3),bul.tau_rub 
    ORDER BY nat.idf_agent,bul.tau_rub
    	)
    select distinct 'IRCANTEC sans rappel' REGIME_RETRAITE,
    partie_ouv.matricule,partie_ouv.nom_prenom,BASE_OUVR,TAU_OUVR,MNT_OUVR,BASE_PATR,TAU_PATR,MNT_PATR
    from partie_ouv,partie_patr
    where partie_ouv.MATRICULE=partie_patr.MATRICULE
    and partie_ouv.cod_rub=partie_patr.cod_rub-1
    and partie_patr.cod_rub=partie_ouv.cod_rub+1
    and ( MNT_OUVR <> 0 or MNT_PATR <> 0)
    order by partie_ouv.matricule,tau_ouvr;
    Quand je suis sous sous un client 9.2.1.0 sur 1 serveur oracle 9.2.0.7 alors tout se passe bien. Mais si je l'exécute sous 1 client 8.1.7.0.0 alors j'ai le message d'erreur suivant:

    SP2-0734: unknown command beginning "with parti..." - rest of line ignored.
    ORDER BY nat.idf_agent,bul.tau_rub
    *
    ERROR at line 32:
    ORA-00907: missing right parenthesis
    Le client 8.1.7.0.0 n'est pas assez élevé
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Salut,
    Il me semble qu'Oracle supporte la syntaxe WITH depuis la 9.2 seulement.

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par Snipah Voir le message
    Salut,
    Il me semble qu'Oracle supporte la syntaxe WITH depuis la 9.2 seulement.
    Oui c'est bien ça. Il faut migrer le client en 9.

  4. #4
    Membre du Club Avatar de pascal_T
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut
    Merci de vos réponses.

    Car cette clause bien utile va me rendre pas mal de service, mais dans les docs oracle il n'était pas précisé que c'était une nouvelle option de la V9.

    Ce forum est toujours aussi bien

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

Discussions similaires

  1. problème avec une requete SELECT
    Par cecile38 dans le forum Requêtes
    Réponses: 20
    Dernier message: 25/05/2011, 18h00
  2. problème avec une requete utilisant LIMIT
    Par kow_Ced dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/08/2006, 16h01
  3. problème avec une requete
    Par PAYASS59 dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/03/2006, 13h12
  4. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39
  5. [debutant]Problème avec une requete ....
    Par MichMich29 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/07/2005, 17h19

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