Forcer une colonne à 0 dans une requête FOR XML AUTO

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Forcer une colonne à 0 dans une requête FOR XML AUTO

Re: Forcer une colonne à 0 dans une requête FOR XML AUTO

par niko0083 » 28 mars 2011, 21:34

Merci ;)

Re: Forcer une colonne à 0 dans une requête FOR XML AUTO

par xTG » 28 mars 2011, 15:59

Je n'ai malheureusement pas de solution à t'apporter mais cependant j'ai une remarque.

En cas de XML non valide ou vide il n'est pas normal que ton code de reporting soit planté...
Il faut gérer les erreurs lorsqu'on utilise du contenu externe au script dont on ne connait pas l'état.

Forcer une colonne à 0 dans une requête FOR XML AUTO

par niko0083 » 28 mars 2011, 15:28

Bonjour,

Après avoir recherché et galéré pas mal de temps je reste sans solution à mon problème.
J'exécute sous SQL Serveur des procédures stockées qui me génèrent des résultats dans un fichier XML (via BCP) qui est ensuite utilisé pour faire du repporting.
Ces procédures vont récupérer des informations dans diverses bases de données historisant ce qui se passe la semaine.
Or lorsque mes bases de données sont vides (en début de semaine) mes querry n'affectent aucunes colonnes, le fichier XML généré et vide/corrompu et fait planter ma vue de repporting.

J'ai essayé de faire des SELECT imbriqués, et des CASE pour forcer une colonne à zéro si il n’y a pas de résultat mais cela ne marche pas, connaissez vous une autre solution???

Code :
SELECT date ,SUM(CAST(Valeur AS float)/1000) AS NUM
FROM BASE.dbo.WIK_QteHebdo
WHERE datepart(year,date) >= @tkan
AND datepart(month,date) >= @tkmois
AND datepart(day,date) >= @tkjour
GROUP BY date
FOR XML AUTO, ELEMENTS, ROOT ('NUM')