IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQL Server 2K] Fonction retournant du XML


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut [SQL Server 2K] Fonction retournant du XML
    Bonjour,
    J'essaye de créer une fonction permettant de renvoyer du XML issu d'une requête (un SELECT .... FOR XML...). Apparement cela à l'air assez simple avec du SQLServer2005 mais je n'ai pas vraiment trouvé de solution utilisable avec SQLServer2000 (à part avec un OPENROWSET et l'ouverture d'une nouvelle connexion avec la base).
    Ma première question est donc : existe il un moyen propre de faire cela ?

    Sinon, mon objectif est de réaliser une interface pour les clients de la base permettant de masquer son model physique. Donc, pour faire des ajouts, modifications ou des suppressions j'utilise des procédures stockées. Mais je ne vois pas quoi utiliser pour la consultation des informations. L'idéal serait des sortes de vues paramètrées par des identifiants fournies par les clients (fonction retournant une table? un exemple?)

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut [SQL Server 2K] Fonction retournant du XML
    Bon, pour la fonction renvoyant une table ca va :

    définition :
    CREATE FUNCTION dbo.test_table_fonction()
    RETURNS TABLE
    AS
    RETURN SELECT * FROM MY_TABLE


    appel :
    SELECT * FROM test_table_fonction()

    Par contre je voudrais avoir un retour XML....
    Quand je met RETURN SELECT * FROM MY_TABLE FOR XML AUTO dans le corps de la fonction, ca ne passe pas au niveau syntaxe (syntaxe incorrecte vers 'XML')...

    Des idées, des pistes ???

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    Voici la "solution" que j'avais trouvée

    Declare @var Varchar(8000)
    SELECT @var = CAST (a.[XML_F52E2B61-18A1-11d1-B105-00805F49916B] as VARCHAR(8000))

    FROM OPENROWSET('MSDASQL',
    'DRIVER={SQL Server};SERVER=localhost;UID=sa;PWD=password',
    'Select * from pubs..authors Authors FOR XML AUTO, ELEMENTS') AS a

    Select @var [XMLOutput]


    Qui dis mieux ?

Discussions similaires

  1. [SQL Server 2005] Importer des données XML
    Par ni0urk dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 22/05/2008, 09h06
  2. [SQL SERVER 2000] Récupérer le FOR XML
    Par Madinico dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/07/2007, 17h04
  3. [SQL Server 2005] Fonction de partitionnement
    Par elsuket dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/04/2007, 18h39
  4. [SQL Server 8] fonction Max --- selon des conditions
    Par Baquardie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/01/2006, 21h06
  5. [SQL SERVER 2000] Fonction utilisateur : boucle sans fin
    Par galinijay dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/09/2005, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo