webForumDet fria alternativet

FOR XML AUTO i Funktion med dynamisk sql?

2 svar · 282 visningar · startad av Palle

PalleMedlem sedan apr. 20003 174 inlägg
#1

Morsning! :)

Jag försöker skapa en User Defined Function som plockar ut all information ur en tabell som XML (FOR XML AUTO).
Tabell-namnet som informationen ska hämtas ur skickas in i funktionen som @Table nvarchar(20).

Men hur 17 går jag sedan vidare? :OO
Jag kan ju inte exekvera en dynamisk sql innuti funktionen, eller? (jag lyckas inte)

Funktionen skall sedan anropas vid en insert.. om det nu går. ;)

...

INSERT INTO tblDeletedData
(
	strTable,
	strXmlInput
)
VALUES
(
	@Table,
	[red]dbo.fnGetTableDataAsXml(@Table,@Id)[/red]
)

...

Går detta att lösa?
Tips?

Tack på förhand! :bire

PalleMedlem sedan apr. 20003 174 inlägg
#2

Är jag otydlig kanske? :D

Jag vill alltså skapa en funktion som hämtar alla data från den aktuella tabellen,
och sedan spara denna "xml-blobb" i en annan tabell.

I wish:

SELECT * FROM [i]@Table[/i] WHERE id = [i]@Id[/i] FOR XML AUTO

Ovanstående kodsnutt fungerar inte, jag ville bara försöka visa hur jag vill ha det.

All hjälp är välkommen. :bire

BrimbaMedlem sedan dec. 19995 875 inlägg
#3

SQL-Server 2005 har fina lösningar på detta, men i övrigt så verkar 2000 vilja att du först hämtar det till klienten (ado?) och skickar tillbaka till servern igen.

Men här iaf en fullösning ;)
http://www.extremeexperts.com/SQL/Yukon/FORXMLOutput.aspx

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)