|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
Bonjour,
Pour rappel je suis totalement novice en pl/sql et j'essaie de me débrouiller comme je peux, voic ce que je suis entrain de faire. J'ai une requête SQL très complexe qui doit utiliser des alias de table. Je vais faire un exemple simple : Code :
Comment puis-je déclarer ma VAR3 pour l'associer au champ3 de la table_2 qui utilise un alias ? J'ai essayer toute les possiblités mais je ne trouve pas la solution merci pour votre aide.
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
VAR3 table2.champ3%type tout simplement.
Lorsque tu déclares ainsi une variable tu ne l'associe pas comme tu dis, tu indique simplement que ta variable est du même type. C'est totalement indépendant de ce qu'il y a dans ton curseur. Apres tu veux peut-être dire que table 2 n'est pas une table reelle mais issue d'un select ? Dans ce cas soit ton champ3 mappe sur un champ reel d'une table donc pas de souci, soit c'est le résultat d'un calcul et dans ce cas tu devras mettre le type de façon explicite (ex : VAR3 INTEGER)
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
10
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
genre :
????? Code :
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
||
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Non,
Soit tu mets Ce qui revient à dire, je déclare VAR3 du type du champ champ3 de la table table2. Soit Ce qui revient à dire, je déclare VAR3 de type VARCHAR2(20)
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
voici mon script qui fonctionne très bien.
Code :
Je veux rajouter dans mon select le champ : GRADE_PE_HISTO.GRADE AS CODE_GRADE, et là impossible j'ai essayé toutes les déclarations possibles ...rien à faire ????
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
||
|
|
00
|
|
|
#6 | ||
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Code :
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
||
|
|
00
|
|
|
#7 | ||
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
oui c'est ce que je fais....
voici l'erreur : Code :
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
||
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Arf j'avais pas vu ta table s'appele GRADE en fait et pas GRADE_PE_HISTO.
Donc
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
On va reprendre du début :
1 alias de table n'est visible qu'à l'intérieur de la REQUETE. Donc que tu aliasses ta table en toto, titi ou mon_super_alias, la déclaration en PL/SQL n'en sait rien car ce n'est pas du tout lié... Variables de la partie déclaration : Soit tu donnes le type en dur VARCHAR2(10), NUMBER... Soit tu donnes le type d'une colonne d'une table. Exemple MATABLE.COLONNE1%type; Dernière chose : Ne jamais utiliser des variables ayant le même nom que des colonnes de tes requêtes, c'est source de problèmes.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
ok merci,
derniere questionsi dans mon select je fais une formule (ex : sum...) Code :
SUM(CASE WHEN GTJOUR.CODHOR <> '000' AND GTJOUR.CODHOR <> 'RH' THEN 1 ELSE 0 END) AS DOIT_TRAVAILLER GTJOUR.CODHOR doit-il être déclarer même s'il n'est pas affiché en sortie ?
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#11 | |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Essaye de comprendre ce qui a été dit avant.
Citation:
Ce que tu déclares c'est indépendant de ton curseur, tu déclares des variables, point barre. Apres tu utilises ces variables pour récupérer les valeurs issues de ton curseur, mais tu pourrais en faire autre chose. Donc si tu n'as pas besoin de la valeur contenue dans GTJOUR.CODHOR tu n'as pas besoin de déclarer de variable associée.
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
ok je commence à comprendre avec vos réponses et mes diverses recherches.
Par contre comment je déclare Code :
SUM(CASE WHEN GTJOUR.CODHOR <> '000' AND GTJOUR.CODHOR <> 'RH' THEN 1 ELSE 0 END) Car ce résultat je vais en avoir besoin en sortie ? merci
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
|
|
00
|
|
|
#13 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
... C'est écrit en gras dans mon dernier post dans la citation d'un autre post...
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
00
|
|
|
#14 | ||
|
Membre confirmé
![]() Inscription : février 2005 Messages : 735 ![]() |
ce qui donne ça ?
Code :
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir.... |
||
|
|
00
|
|
|
#15 | |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Citation:
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com