create database prueba
go
use prueba
go
create table empleados
(
id integer identity primary key,
Nombre Varchar(50),
Apellidos Varchar(100)
)
go
/*
insert into empleados (nombre, apellidos) values ('Jesus','Moreno');
insert into empleados (nombre, apellidos) VALUES ('Jose', 'Moreno');
go
*/
-- exportamos
select * from empleados for xml RAW,
root('empleados')-- con atributos
-- generamos con el comando anterior i lo
guardamos como empleadostaw.xml para importarlo despues
select * from
empleados for xml path, root('empleados'), elements-- con items
--importamos
create table empleados2
(
id integer
primary key,
Nombre Varchar(50),
Apellidos Varchar(100)
)
--hacemos un select del xml
/*
DECLARE @doc XML
SELECT @doc =
BulkColumn
FROM OPENROWSET(
BULK
'E:\PraticasSQLServer2005\empleadosraw.xml', SINGLE_CLOB
) AS Data
SELECT paises.value('@id','Integer') AS id,
paises.value('@Nombre',
'VARCHAR(50)') AS Nombre,
paises.value('@Apellidos', 'VARCHAR(100)') as
Apellidos
FROM @doc.nodes('/empleados/row') AS x1(paises)
*/
--
De esta forma conseguimos importar el fichero xml que ants creamos a la tabla
empleados2
-- desde un fichero xml en disco
DECLARE @docHandle int
DECLARE @xmlDocument xml -- or xml type
SELECT @xmlDocument = BulkColumn
FROM OPENROWSET(
BULK 'E:\PraticasSQLServer2005\empleadosraw.xml',
SINGLE_CLOB
) AS xmldata
EXEC sp_xml_preparedocument @docHandle OUTPUT,
@xmlDocument
-- Use OPENXML to provide rowset consisting of customer data.
INSERT empleados2
SELECT *
FROM OPENXML(@docHandle,
N'/empleados/row')
WITH empleados2
-- Use OPENXML to provide rowset
consisting of order data.
EXEC sp_xml_removedocument @docHandle
-- otra forma seria importar el xml pasandole el xml en una cadena
de texto
delete from empleados2
go
DECLARE @docHandle int
DECLARE @xmlDocument nvarchar(max) -- or xml type
SET @xmlDocument =
N'<empleados>
<row id="1" Nombre="jesus" Apellidos="Moreno" />
<row id="2" Nombre="jose" Apellidos="Moreno" />
<row id="3"
Nombre="jesus" Apellidos="Moreno" />
<row id="4" Nombre="jose"
Apellidos="Moreno" />
<row id="5" Nombre="jesus" Apellidos="Moreno"
/>
<row id="6" Nombre="jose" Apellidos="Moreno" />
<row id="7"
Nombre="jesus" Apellidos="Moreno" />
<row id="8" Nombre="jose"
Apellidos="Moreno" />
</empleados>'
EXEC sp_xml_preparedocument
@docHandle OUTPUT, @xmlDocument
-- Use OPENXML to provide rowset consisting
of customer data.
INSERT empleados2
SELECT *
FROM
OPENXML(@docHandle, N'/empleados/row')
WITH empleados2
EXEC
sp_xml_removedocument @docHandle
Suscribirse a:
Enviar comentarios (Atom)
Jesús Moreno - Ingeniero Ténico Informático - consultor Informático
Hola, soy Jesús Moreno Ingeniero Técnico Informático en sistemas por la US y propietario de éste blog. Mi trabajo en los ultimos años se ...
-
Ultima hora: Máxima difusión, aquí la sentencia del Tribunal Supremo sobre la Clausula Suelo . http://s01.s3c.es/imag/doc/ 2013-06-04/pg.4...
-
El ejemplo se ha probado en una base de datos Microsoft SQL Server 2008 R2 CREATE FUNCTION dbo . udf_GetNumeric (@ strAlphaNumeric VARCHA...
-
Al intentar compartir la impresora nos lanza un error que dice: " No se pudo guardar la configuración de la impresora. No hay no hay m...
No hay comentarios:
Publicar un comentario