El día de hoy se estuvieron cargando datos de prueba. Se hizo uso de la misma ciencia que se usó en el Proyecto Programado I. Se tomaron los Queries y se adaptaron para que funcionaran con estos datos de prueba.
Lo anterior da resultado al siguiente Query:
USE [II Proyecto - Banco]
GO
SET LANGUAGE Spanish
DECLARE @IPCLIENT VARCHAR(15)
SELECT @IPCLIENT = CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'))
DECLARE @XMLwithOpenXML TABLE
(
ID INT IDENTITY PRIMARY KEY,
XMLData XML,
LoadedDateTime DATETIME
)
INSERT INTO @XMLwithOpenXML(XMLData, LoadedDateTime)
SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE()
FROM OPENROWSET(BULK 'C:\Users\Administrator\Desktop\Datos de Prueba - II Proyecto.xml', SINGLE_BLOB) AS x;
DECLARE @XML AS XML, @hDoc AS INT
SELECT @XML = XMLData FROM @XMLwithOpenXML
EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
--Aqui empiezan los inserts
--Tipo Documento
INSERT INTO dbo.Tipo_Documento(Nombre)
SELECT NombreTipo
FROM OPENXML(@hDoc, 'Proyecto/Datos/TipoID')
WITH
(
NombreTipo varchar(50) 'Nombre'
)
--Tipo movimiento interes
INSERT INTO dbo.Tipo_Movimiento_Interes(Nombre)
SELECT NombreTipoMovim
FROM OPENXML(@hDoc, 'Proyecto/Datos/TipoMovInteres')
WITH
(
NombreTipoMovim varchar(50) 'nombre'
)
--Tipo movimiento estado cuenta
INSERT INTO dbo.Tipo_Movimiento_Estado_Cuenta(Nombre, Tipo)
SELECT NombreTipoMovimEs,
CASE Tipo
WHEN 'C' THEN 1
WHEN 'D' THEN -1
END
FROM OPENXML(@hDoc, 'Proyecto/Datos/TipoMovEC')
WITH
(
NombreTipoMovimEs varchar(50) 'nombre',
Tipo varchar(1) 'Tipo'
)
--Tipo Cuenta
INSERT INTO dbo.Tipo_Cuenta(Nombre, Saldo_Minimo, Multa_Saldo_Minimo, Tasa_Interes, Cargo_Servicio, Limite_Minimo_NoCobro, MaxRetirosXmes, PostIn, PostBy, PostDate)
SELECT NombreT, Saldo_Min, Multa , Tasa, Cargo, Limite, MaxRetirosXmes, @IPCLIENT, CURRENT_USER, CURRENT_TIMESTAMP
FROM OPENXML(@hDoc, 'Proyecto/Datos/TipoCuenta')
WITH
(
NombreT varchar(50) 'Nombre',
Saldo_Min money 'SaldoMinimo',
Multa money 'MultaSaldoMinimo',
Tasa float 'TasaInteres',
Cargo money 'CargoServicio',
limite money 'LimiteMinimoNoCobro',
MaxRetirosXmes int 'MaxRetirosXmes'
)
--Cliente
INSERT INTO dbo.Cuenta_Ahorrista(Fk_Tipo_Documento, Identificacion, Nombre, email, Activo, PostIn, PostBy, PostDate)
SELECT Fk_Tipo, Ident, NombreCli, emailCli, 'True', @IPCLIENT, CURRENT_USER, CURRENT_TIMESTAMP
FROM OPENXML(@hDoc, 'Proyecto/Datos/Cliente')
WITH
(
Fk_Tipo int 'FK_TipoID',
Ident int 'NumID',
NombreCli varchar(50) 'Nombre',
emailCli varchar(50) 'Email'
)
--Cuenta
INSERT INTO dbo.Cuenta(FK_Cuenta_Ahorrista, FK_Tipo_Cuenta, Fecha_Creacion, Saldo_Parcial, Fecha_Corte, Activo, PostIn, PostBy, PostDate)
SELECT Fk_Cuen,Fk_tipo, creacion, saldo, corte, 'True', @IPCLIENT, CURRENT_USER, CURRENT_TIMESTAMP
FROM OPENXML(@hDoc, 'Proyecto/Datos/Cuenta')
WITH
(
Fk_Cuen int 'FK_Cliente',
Fk_tipo int 'FK_TipoCuenta',
creacion date 'FechaCreacion',
corte int 'DiaCorte',
saldo money 'SaldoReal'
)
EXEC sp_xml_removedocument @hDoc
No hay comentarios:
Publicar un comentario