Forums Últimos mensajes - Powered by IBM
 

Inserciones com OPENXML

28/10/2004 - 15:20 por Oterox | Informe spam
Hola a todos.

Necesito hacer un procedimiento almacenado para insertar varios registros de
una vez.EL proc tiene 2 parametros:
@xmlOrders nText,
@var_id int

El valor del primer parametro (@xmlOrders ) es un xml como este:

<ORDER>
<ORDER>
<art_desc>blablablabla.</art_desc>
<art_code>1</art_code>
<art_units>50</art_units>
<xx>111</xx>
<yy>111</yy>
</ORDER>
<ORDER>
<art_desc>tetetetet.</art_desc>
<art_code>2</art_code>
<art_units>10</art_units>
<xx>222</xx>
<yy>222</yy>
</ORDER>
</ORDER>

Lo que necesito es insertar el parametro @var_id y estos campos de
@xmlOrders
(art_desc,art_code and art_units) en la tabla "tbl_orders" con esta
estructura:

order_id int identity
art_desc varchar
art_code varchar
art_units int
var_id int

Como puedo modificar esto para q funcione:

DECLARE @hDoc int
exec sp_xml_preparedocument @hDoc OUTPUT,@xmlOrders
Insert Into TBL_ORDERS
SELECT art_desc,art_code,art_units
FROM OPENXML (@hdoc, '/ORDER/ORDER',1)
WITH (art_desc varchar(100), art_code varchar(100),art_units int)
XMLOrders
EXEC sp_xml_removedocument @hDoc

Cuando los campos del xml coinciden con los de la tabla y se insertan todos
si funciona pero como aki necesito introducir un valor q no esta en el xml y
el campo identity no lo consigo :-(

Gracias a todos y a todas ;-)
 

Leer las respuestas

#1 Maxi
28/10/2004 - 21:49 | Informe spam
Hola, andate por

www.sqlteam.com

www.sqlservercentral.com

Hay varios ejemplos que te pueden ayudar en este tema :-)


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Oterox" escribió en el mensaje
news:
Hola a todos.

Necesito hacer un procedimiento almacenado para insertar varios registros
de
una vez.EL proc tiene 2 parametros:
@xmlOrders nText,
@var_id int

El valor del primer parametro (@xmlOrders ) es un xml como este:

<ORDER>
<ORDER>
<art_desc>blablablabla.</art_desc>
<art_code>1</art_code>
<art_units>50</art_units>
<xx>111</xx>
<yy>111</yy>
</ORDER>
<ORDER>
<art_desc>tetetetet.</art_desc>
<art_code>2</art_code>
<art_units>10</art_units>
<xx>222</xx>
<yy>222</yy>
</ORDER>
</ORDER>

Lo que necesito es insertar el parametro @var_id y estos campos de
@xmlOrders
(art_desc,art_code and art_units) en la tabla "tbl_orders" con esta
estructura:

order_id int identity
art_desc varchar
art_code varchar
art_units int
var_id int

Como puedo modificar esto para q funcione:

DECLARE @hDoc int
exec sp_xml_preparedocument @hDoc OUTPUT,@xmlOrders
Insert Into TBL_ORDERS
SELECT art_desc,art_code,art_units
FROM OPENXML (@hdoc, '/ORDER/ORDER',1)
WITH (art_desc varchar(100), art_code varchar(100),art_units int)
XMLOrders
EXEC sp_xml_removedocument @hDoc

Cuando los campos del xml coinciden con los de la tabla y se insertan
todos
si funciona pero como aki necesito introducir un valor q no esta en el xml
y
el campo identity no lo consigo :-(

Gracias a todos y a todas ;-)








Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.781 / Virus Database: 527 - Release Date: 21/10/2004

Preguntas similares