Migracion de Usuarios y Eventos
Descripcion:
Se dificultó la migración esencialmente por los pocos nombres proveídos por archivos de prueba, además que la información
era muy limitada al contar únicamente con un atributo nombre, por lo que no se podía registrar un usuario conforme se esperaba
en el diagrama elaborado previamente. Esto en vista que para efectos reales el teatro nacional, éste cuenta con usuarios registrados
para la compra de entradas a los eventos.
-----------------------------------------------------------------------------------------------------------------------
-- Verifica si el store procedure existe, para eliminarlo
IF OBJECT_ID ( N'BT_SP_INSERTAR_EVENTO', N'P' ) IS NOT NULL
DROP PROCEDURE BT_SP_INSERTAR_EVENTO;
GO
CREATE PROCEDURE BT_SP_INSERTAR_EVENTO
AS
BEGIN
BEGIN TRY
BEGIN TRANSACTION
-- Insert datos de Tipo Evento
INSERT INTO [BoleteriaTeatroDB].[dbo].[BT_TipoEvento]
(Nombre)
SELECT Nombre FROM dbo.XMLDatosGenerales DG
WHERE DG.TipoOperacion = 'insercionTipoShow' AND NOT EXISTS(
(SELECT 1 FROM [BoleteriaTeatroDB].[dbo].[BT_TipoEvento] TE WHERE TE.Nombre = DG.Nombre))
-- Insert datos de Evento
INSERT INTO [BoleteriaTeatroDB].[dbo].[BT_Evento]
(FK_TipoEvento,Nombre,Precio,Descripcion)
SELECT FKTipoShow, Nombre, Precio, Descripcion FROM dbo.XMLDatosGenerales DG
WHERE DG.TipoOperacion = 'insercionShow' AND NOT EXISTS(
(SELECT 1 FROM [BoleteriaTeatroDB].[dbo].[BT_TipoEvento] TE WHERE TE.Nombre = DG.Nombre))
-- Insert datos de Tanda
INSERT INTO [BoleteriaTeatroDB].[dbo].[BT_Tanda]
(FK_Evento,FechaHora,Duracion)
SELECT FKTipoShow,Fecha,Hora FROM dbo.XMLDatosGenerales DG
WHERE DG.TipoOperacion = 'insercionTandas' AND NOT EXISTS(
(SELECT 1 FROM [BoleteriaTeatroDB].[dbo].[BT_Tanda] T
WHERE T.FK_Evento = DG.FKTipoShow AND T.FechaHora = DG.Fecha AND T.Duracion = DG.Hora))
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
SELECT * FROM [BoleteriaTeatroDB].[dbo].[BT_TipoEvento]
SELECT * FROM [BoleteriaTeatroDB].[dbo].[BT_Evento]
SELECT * FROM [BoleteriaTeatroDB].[dbo].[BT_Tanda]
RETURN 1;
END TRY
BEGIN CATCH
EXEC BT_SP_GetErrorInfo;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
RETURN @@ERROR*-1;
END CATCH
END
GO
-----------------------------------------------------------------------------------------------------------------------
-- Verifica si el store procedure existe, para eliminarlo
IF OBJECT_ID ( N'BT_SP_INSERTAR_USUARIO', N'P' ) IS NOT NULL
DROP PROCEDURE BT_SP_INSERTAR_USUARIO;
GO
CREATE PROCEDURE BT_SP_INSERTAR_USUARIO
AS
BEGIN
BEGIN TRY
BEGIN TRANSACTION
-- Insert datos de localidad
INSERT INTO [BoleteriaTeatroDB].[dbo].[BT_Usuario]
(Nombre,Contrasena)
SELECT DISTINCT NombreComprador,NombreComprador FROM dbo.XMLMovimientos
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
SELECT * FROM [BoleteriaTeatroDB].[dbo].[BT_Usuario]
RETURN 1;
END TRY
BEGIN CATCH
EXEC BT_SP_GetErrorInfo;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
RETURN @@ERROR*-1;
END CATCH
END
GO
Horas Trabajadas: 2.5 hora
Autor: Edward Ovares Villegas

0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio