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 27/12/2010, 10h06   #1
Invité régulier
 
Antoine Dubois
Étudiant
Inscription : septembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Nom : Antoine Dubois

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 45
Points : 8
Points : 8
Par défaut Requetes imbriquees en pro/c

Bonjour et joyeux Noël à tous,
j'ai un soucis de compilation en Pro*c sous la 10g,
j'utilise visual studio 6.0 (pas de moquerie SVP ! ) avec le compilo de oracle 10g

mon soucis viens d'une requête écrite comme suis:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
EXEC SQL DECLARE MON_CURSEUR CURSOR FOR 
	SELECT  OID ||'","'||
	(SELECT VALEUR 
		FROM DEVISE 
		WHERE SESSION = :lSqlSesCod
	)||','||
	(SELECT VALEUR
		FROM DEVISE
		WHERE 
		SESSION = :lSqlSesCod)
	)
  FROM
		patati, patata
 
  WHERE     
 
		AND CODE = :lSqlEapCod
		AND SESSION = :lSqlSesCod
		AND DATE >= TO_DATE(:szDate,'DD/MM/YYYY');
La requête est très simplifié, pour des raisons de confidentialité et de lisibilité.
cette requête s'execute ) à merveille sur un client ORACLE.
cependant à la compilation en PRO*C, j'ai un message d'erreur sur mes SELECT imbriqué,
les messages d'erreurs sont les suivant,


Citation:
Valeurs des options système par défaut extraites de : D:\oracle\product\10.2.0\client_1\precomp\admin\pcscfg.cfg
Erreur de syntaxe à la ligne 4287, colonne 9, fichier patato
Erreur à la ligne 4287, colonne 9 dans le fichier potata
SELECT VALEUR
........1
PCC-S-02201, Symbole "VALEUR" rencontré à la place d'un des symboles suivants :
( ) * + - / . @ | at, day, hour, minute, month, second, year,
Erreur de syntaxe à la ligne 0, colonne 0, fichier .\Debug-10\LRGC_AccesBases.pcc:
Erreur à la ligne 0, colonne 0 dans le fichier potitit
PCC-S-02201, Symbole "<eof>" rencontré à la place d'un des symboles suivants :
; : an identifier, end-exec, random_terminal
Erreur à la ligne 0, colonne 0 dans le fichier topito
PCC-F-02102, Erreur fatale pendant le prétraitement de C
Error executing c:\windows\system32\cmd.exe.
est ce que cela viens d'une limitation technique du PRO*C ou d'une erreur d'autre choses ?
il faut savoir que j'ai d'autre curseur déclaré dans mon fichier et qu'il suffise que je remplace mes ordres SELECT par des valeurs constantes pour que le code compile à merveille.

Auriez vous des idées ?

D'avance Merci.


Joyeuse fête de fin d'année à tous !
wechteuf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 10h13   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Dans les "vieux"' moteurs sql (comme celui de forms 9), le sous select dans les curseurs ne marche pas.
Il faut gérer ta requête autrement (faire tes sous requêtes en select unitaire dans la boucle)
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 10h34   #3
Invité régulier
 
Antoine Dubois
Étudiant
Inscription : septembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Nom : Antoine Dubois

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 45
Points : 8
Points : 8
à partir de quelle version cela est il supporté ?
j'ai beaucoup de mal à trouver des exemples de docs sur ce problème précis.
wechteuf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 10h43   #4
Invité régulier
 
Antoine Dubois
Étudiant
Inscription : septembre 2007
Messages : 45
Détails du profil
Informations personnelles :
Nom : Antoine Dubois

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2007
Messages : 45
Points : 8
Points : 8
J'ai une parade qui consiste à faire un join sur la vue concerné, cependant je perd en performance de manière non négligeable, si il était possible de faire autrement, je suis preneur de toute indications pouvant m'aider.

Merci d'avance.

Antoine
wechteuf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 11h09   #5
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Sans connaitre la requête complète c'est un peu dur.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 15h16   #6
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
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 : 3 311
Points : 5 808
Points : 5 808
Utilisez le SQL dynamique dans votre programme pro*c.
mnitu 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 09h52.


 
 
 
 
Partenaires

Hébergement Web