hola tengo el siguiente problema necesito llenar unas tablas a partir de un
archivo XML la cuestión es que al seleccionar el path (/oc/detalle) en el
archivo suma 2 columnas cuando pido el /oc/cabecera por ejemplo el archivo
que quiero agregar es el siguiente
<oc>
<cabecera>
<version>1</version>
<numero_oc>4500200000</numero_oc>
</cabecera>
<detalle>
<codigo_linea>00010</codigo_linea>
<codigo_item_comprador>000000000000030903</codigo_item_comprador>
</detalle>
</oc>
para pasar este archivo me sirvo de un store procedure que es el siguiente
CREATE PROCEDURE sp_Insert_OC_DET
@strXML ntext
AS
DECLARE @iDoc int
EXECUTE sp_xml_preparedocument @iDoc OUTPUT, @strXML
INSERT INTO DET_ORD_COMPRA (
version,
numero_oc,
codigo_linea,
codigo_item_comprador,
(SELECT * FROM OpenXML(@iDoc, '/oc/detalle',3)
WITH
(
version char(2) '../cabecera' < se
supone que con esto basta pero al parecer no
,numero_oc char(10) '../cabecera'
,codigo_linea char (10)
,codigo_item_comprador char (10)
))
EXECUTE sp_xml_removedocument @iDoc
GO
esto da como resultado que el campo versión queda lleno con el "1" y en el
campo numero_oc queda "1 4500200000" ósea suma los dos campos, la verdad es
que ya no se que puede ser, ¿alguien ha visto este tipo de problema? ¿podra
ser que hay problemas al extraer datos que estan al mismo nivel en el
registro?
Leer las respuestas