OPENXML Especificar TableName en la cláusula WITH

27/06/2006 - 00:18 por eduardo | Informe spam
Hola gente
Este ejemplo esta en la documentación del sql.
Basicamente quiero saber cómo puedo hacer lo mismo q está aquí pero con
alguna tabla existente.
Me explico mejor:
Quiero hacer algo similar pero con un conjunto de tablas y no funciona
con una variable de texto.
Por ahora solo me imagino hacerlo con sentencias dinámicas.

Aclaro que llevo solo una semana con transact sql y seguro que la
respuesta es mas fácil de lo que creo.
Gracias de antemano por la respuesta


CREATE TABLE T1(oid char(5), date datetime, amount float)
DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc ='
<ROOT>
<Customer cid= "C1" name="Janine" city="Issaquah">
<Order oid="O1" date="1/20/1996" amount="3.5" />
<Order oid="O2" date="4/30/1997" amount="13.4">Customer was very
satisfied</Order>
</Customer>
<Customer cid="C2" name="Ursula" city="Oelde" >
<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue
white red">
<Urgency>Important</Urgency>
</Order>
<Order oid="O4" date="1/20/1996" amount="10000"/>
</Customer>
</root>
'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT *
FROM OPENXML (@idoc, '/root/Customer/Order', 1)
WITH T1
EXEC sp_xml_removedocument @idoc
 

Leer las respuestas

#1 Maxi
27/06/2006 - 16:20 | Informe spam
Hola que es lo que no funciona? la verdad no comprendo que estas queriendo
hacer, podrias explicarte un poco mas?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"eduardo" escribió en el mensaje
news:
Hola gente
Este ejemplo esta en la documentación del sql.
Basicamente quiero saber cómo puedo hacer lo mismo q está aquí pero con
alguna tabla existente.
Me explico mejor:
Quiero hacer algo similar pero con un conjunto de tablas y no funciona con
una variable de texto.
Por ahora solo me imagino hacerlo con sentencias dinámicas.

Aclaro que llevo solo una semana con transact sql y seguro que la
respuesta es mas fácil de lo que creo.
Gracias de antemano por la respuesta


CREATE TABLE T1(oid char(5), date datetime, amount float)
DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc ='
<ROOT>
<Customer cid= "C1" name="Janine" city="Issaquah">
<Order oid="O1" date="1/20/1996" amount="3.5" />
<Order oid="O2" date="4/30/1997" amount="13.4">Customer was very
satisfied</Order>
</Customer>
<Customer cid="C2" name="Ursula" city="Oelde" >
<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue
white red">
<Urgency>Important</Urgency>
</Order>
<Order oid="O4" date="1/20/1996" amount="10000"/>
</Customer>
</root>
'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT *
FROM OPENXML (@idoc, '/root/Customer/Order', 1)
WITH T1
EXEC sp_xml_removedocument @idoc

Preguntas similares