|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2008 Messages : 29 ![]() |
Bonjour,
J’aimerais avoir une macro qui effectue une requête SQL sur la table MYTABLE en ne sélectionnant que les enregistrements dont la colonne IDENTIFIANT (de type alpha) correspond au paramètre ID passé à la macro. Ma macro semble fonctionner mais ne retourne aucun enregistrement alors qu’il devrait en avoir. Voici ma macro : Code :
Merci d’avance. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Stéphane Consultant et formateur SAS et Cognos Inscription : avril 2009 Messages : 1 791 ![]() |
ton identifiant est
- peut être composé de blanc autour de la valeur - n'as pas cette valeur. as-tu essayé par une simple étape DATA + libname DB2 ? Tu as allégé le code pour le forum ou tu ne passes pas de paramètres à ton CONNECT ?
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !Moteur de recherche dans les papiers SAS |
|
00
|
|
|
#3 | ||||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
Je crois que le souci est que ton macro-programme est défini en local (sur le PC) et du coup, son paramètre, la macro-variable ID, aussi. Or ta proc SQL s'exécute sur le serveur, qui ne connaît pas &ID. Il faudrait ajouter une instruction de transfert, %SYSLPUT, pour que ta session SAS serveur connaisse la valeur de &ID. Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2008 Messages : 29 ![]() |
Merci pour vos réponse.
En fait, le problème semble être lié au type de colonne (alpha). J'ai en effet un message d'erreur du type Code :
ERROR: VIEW selection criteria OR WHERE clause IS NOT valid Et aucun message lorsque je l'exécute de la manière suivante Je ne sais comment faire pour que dans le query ma variable Indice soit interprétée '1234567' et non pas 1234567. Merci. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
essaye avec in au lieu d'un = dans ton where
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Dans une macro-variable, tout est du texte. Donc si tu mets des guillemets, ils font partie de la valeur. Si tu veux des apostrophes, tu les mets dans ta valeur lors de l'appel au macro-programme :
%MonQuery('2622'); |
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2008 Messages : 29 ![]() |
Un tout grand merci à tous.
Le lancement de la macro doit bien se faire de la manière suivante %MonQuery('2622'); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com