|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
Hello tous,
Lors d'un Select (au sein d'une procédure) dont les résulats sont envoyés dans un fichier, y aurait-il un moyen simple pour empêcher facilement l'affichage des noms de champs lorsqu'il n'y a pas de résulat retournée ? Pour Inhiber le message "0 rows affected", il y a bien nocount mais ceci laisse tout de même affiché la ligne vide...Ce qui pollue pas mal un fichier en sortie sachant qu'à l'intérieur on trouve également les lignes ayant retournées un ou plusieurs résultats... L'idée étant donc de n'avoir qu'un fichier ne contenant que des résultats du select... J'ai bien une solution mais fastidieuse, à l'aide de sed pour remplacer les noms de champs par vide, mais je présume qu'il y a un moyen prévu par l'éditeur... ? Merci d'avance
|
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Développeur informatique Inscription : octobre 2006 Messages : 210 ![]() |
Bonjour,
si tu passes par isql, tu peux utiliser l'option -b qui supprime les entetes de colonnes |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
Ha oui, pas mal du tout JeanCri, je ne comprends pas comment j'ai pu ne pas trouver cette option sur le web...
Pas pensé au man... puisque je cherchais plutôt une possibilité de le faire coté Procédure Je passe en résolu, mais...maintenant ce qui serait bien, c'est que je puisse tout de même avoir les entêtes mais pour ces résulats matchés...; Bref qu'il n'affiche rien lorsqu'il n'y a pas de résultats; Si quelqu'un sait; A ++ |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Développeur informatique Inscription : octobre 2006 Messages : 210 ![]() |
Tu peux faire un if exists sur le perimetre de ton select et ne faire le select que s'il y a vraiment quelque chose.
Mais ca serait peut etre dommage de ne pas savoir qu'il n'y avait rien ? |
|
|
00
|
|
|
#5 | |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
Citation:
J'avais pensé à un test dans l'idée mais ne savait pas que c'était possible de faire "if exists" comme ca direct, je découvre Sybase, par contre je me mange un "Incorrect syntax near 'AS'" alors tout semble parfait syntaxiquement, les exemples sur le web correspondent bien à ce que j'ai implémenté... Après je fais ce test à l'intérieur d'un bloc begin d'une procédure donc je ne sais pas si ca a un effet répréhensible d'avoir un second begin dans le bloc (celui du if exists).. |
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Développeur informatique Inscription : octobre 2006 Messages : 210 ![]() |
if exists ( select 1 from ... where ...)
select a,b,.....,z from ... where ... |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
Impossible de créer la procédure avec la présence d'un if exists apparament
Même effet en me calquant sur ton modèle syntaxique Merci quand même |
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 61 ![]() |
J'ai trouvé, en fait le select dans le If exists est très contraignant, à savoir qu'il ne doit pas utiliser d'alias...(je m'en étais pas aperçu car je n'utilise pas explicitement 'AS') et secondo, il faut indiquer une pseudo colonne ET UNE SEULE, dès qu'y en a plus ça ne s'exécute pas...
![]() J'aurais surement d'autres probs par la suite, à bientôt
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com