Avatar billede rif1900 Nybegynder
24. september 2007 - 10:36 Der er 5 kommentarer

hjælp til at få select ned i en variabel

Hej eksperter

skal have følgende ned i en xml variabel men kan simpelthen ikke få det til at lykkes.

select
    Disposition_1.name_DK as Disposition,
    Disposition_2.name_dk as name
from DeviationPropertyGlobal Disposition_1
left join DeviationPropertyRelation DPR on Disposition_1.id = DPR.parentid
inner join DeviationPropertyType DPT on DPT.id = Disposition_1.Typeid AND DPT.uniquename = 'Disposition_1'
left join DeviationPropertyGlobal Disposition_2 on DPR.childid = Disposition_2.id
for xml auto, root('root')

det der resultere jo i et xml output, hvordan får jeg det i en variabel???

Med Venlig Hilsen
Mathias
Avatar billede rif1900 Nybegynder
24. september 2007 - 10:49 #1
hvis det kan være nogen hjælp for nogen så er det en stored procedure som jeg gerne vil output variablen sat på.

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Mathias>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[GetDispositionsAsXML]
@country varchar(4),
@xmldata xml output
AS

if (@country='DK')
BEGIN

select
    Disposition_1.name_DK as Disposition,
    Disposition_2.name_dk as name
from DeviationPropertyGlobal Disposition_1
left join DeviationPropertyRelation DPR on Disposition_1.id = DPR.parentid
inner join DeviationPropertyType DPT on DPT.id = Disposition_1.Typeid AND DPT.uniquename = 'Disposition_1'
left join DeviationPropertyGlobal Disposition_2 on DPR.childid = Disposition_2.id
for xml auto, root('root')

return 1

END

if (@country='EN')
BEGIN
select
   
    Disposition_1.name_en as Disposition,
    Disposition_2.name_en as name
from DeviationPropertyGlobal Disposition_1
left join DeviationPropertyRelation DPR on Disposition_1.id = DPR.parentid
inner join DeviationPropertyType DPT on DPT.id = Disposition_1.Typeid AND DPT.uniquename = 'Disposition_1'
left join DeviationPropertyGlobal Disposition_2 on DPR.childid = Disposition_2.id
for xml auto, root('root')

return 1

END

if (@country='SE')
BEGIN
select
   
    Disposition_1.name_se as Disposition,
    Disposition_2.name_se as name
from DeviationPropertyGlobal Disposition_1
left join DeviationPropertyRelation DPR on Disposition_1.id = DPR.parentid
inner join DeviationPropertyType DPT on DPT.id = Disposition_1.Typeid AND DPT.uniquename = 'Disposition_1'
left join DeviationPropertyGlobal Disposition_2 on DPR.childid = Disposition_2.id
for xml auto, root('root')

return 1

END


så jeg vil altså gerne have at xmldata sættes til det der returneres af af et af de select statements!

hvis der er nogle der kan hjælpe villle jeg blive meget glad
Avatar billede rif1900 Nybegynder
24. september 2007 - 10:53 #2
jeg opretter gerne 2 spørgsmål mere og giver 500 points til en person der kan give mig en konkret løsning der virker.
Avatar billede sherlock Nybegynder
24. september 2007 - 12:42 #3
Prøv om det her kan inspirere dig. jeg har ikke adgang til mssql nu.

DECLARE @x XML
SET @x = (
  SELECT ContactID,
          FirstName,
          LastName
  FROM Contact
  FOR XML AUTO, TYPE)
SELECT @x
GO
Avatar billede rif1900 Nybegynder
24. september 2007 - 12:55 #4
hej sherlock

tak for den kode der, jeg har nu valgt at lave det i .net i stedet da jeg er presset på tid med det jeg laver.

smid et svar så får du de 100 points vis du vil have dem :)
Avatar billede sherlock Nybegynder
24. september 2007 - 13:06 #5
Nej tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester