Précédent   Forum du club des développeurs et IT Pro > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/06/2011, 11h28   #1
bros_70
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
Par défaut Inhiber l'affichage des noms de champs en cas de "0 rows affected"

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
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 13h48   #2
Jean.Cri1
Membre éclairé
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 210
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 210
Points : 362
Points : 362
Bonjour,

si tu passes par isql, tu peux utiliser l'option -b qui supprime les entetes de colonnes
Jean.Cri1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 14h05   #3
bros_70
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
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 ++
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 14h24   #4
Jean.Cri1
Membre éclairé
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 210
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 210
Points : 362
Points : 362
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 ?
Jean.Cri1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 14h50   #5
bros_70
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
Citation:
Envoyé par Jean.Cri1 Voir le message
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 ?
Non ce n'est pas utile car c'est dans le cadre d'une reprise de données;
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)..
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 15h01   #6
Jean.Cri1
Membre éclairé
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 210
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 210
Points : 362
Points : 362
if exists ( select 1 from ... where ...)
select a,b,.....,z from ... where ...
Jean.Cri1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 15h16   #7
bros_70
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
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
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 16h00   #8
bros_70
Membre à l'essai
 
Inscription : décembre 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 61
Points : 23
Points : 23
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
bros_70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h07.


 
 
 
 
Partenaires

Hébergement Web