1. /*
1. Desarrolle un programa utilizando instrucciones SQL que permitan
calcular la suma de los 1000 primeros números pares y la suma de los
1000 primeros números impares (4 puntos).
*/
DECLARE@sumparesINT
DECLARE@sumimparesINT
DECLARE@iINT
SET@sumpares= 0
SET@sumimpares= 0
SET@i= 0
WHILE@i< 1000*2
BEGIN
SET@i=@i+ 1
IF (@i%2=0)
BEGIN
SET@sumpares=@sumpares+@i
END
ELSE
BEGIN
SET@sumimpares=@sumimpares+@i
END
END
PRINT'LA SUMATORIA DE NUMEROS PARES ES: '+
CONVERT(VARCHAR(25),@sumpares)
PRINT'LA SUMATORIA DE NUMEROS IMPARES ES:
'+CONVERT(VARCHAR(25),@sumimpares)
/*
2. Desarrolle una vista que contenga todas las opciones a las que
tiene acceso un usuario sobre un sistema (4 puntos).
*/
CREATEVIEWVW_VISTAOPCIONESUSUARIO
AS
SELECTO.codopcion,U.CodUsuario,O.nombreasOpcion,S.nombreasSistema
FROM
USUARIOUINNERJOINOPCIONXUSUARIOOUONU.CodUsuario=OU.CodUsuarioINN
ERJOINOPCIONOONOU.codopcion=O.codopcion
INNERJOINSISTEMASONS.codsistema=O.codsistema
WHERE
UPPER(U.NombreUsuario)='abarrientos'andO.estado='A'andU.Estado='
A'
/*3. Desarrollar un programa que permita registrar la siguiente
información(tablas opción y sistema)
Sistema de Registro de Solicitudes Registrar nueva solicitud
2. Sistema de Registro de Solicitudes Modificar solicitud
Sistema de Registro de Solicitudes Enviar solicitud
Sistema de Registro de Solicitudes Eliminar solicitud
Sistema de Administración de Proyectos Registrar Nuevo Proyecto
Sistema de Administración de Proyectos Modificar Proyecto
Sistema de Administración de Proyectos Eliminar Proyecto
Sistema de Administración de Proyectos Registrar Actividades
Sistema de Administración de Proyectos Registrar Recursos
Cree una transacción para registrar la información del Sistema de
Registro de Solicitudes y otra transacción
Para registrar la información del Sistema de Administración de
Proyectos (4 puntos)*/
--SISTEMA DE REGISTRO DE SOLICITUDES
BEGINTRY
BEGINTRANSACTION
INSERTINTOSISTEMA
VALUES(7,'Sistema de Registro de Solicitudes','A','-')
INSERTINTOOPCIONVALUES('Registrar nueva solicitud','A',7)
INSERTINTOOPCIONVALUES('Modificar solicitud','A',7)
INSERTINTOOPCIONVALUES('Enviar solicitud','A',7)
INSERTINTOOPCIONVALUES('Eliminar solicitud','A',7)
COMMITTRANSACTION
PRINT'SISTEMA INSERTADA'
ENDTRY
BEGINCATCH
ROLLBACKTRANSACTION
PRINT'SE TIENE EL ERROR : '+ERROR_MESSAGE()
PRINT'NO SE INSERTARON NI LA CABECERA NI LOS DETALLES'
ENDCATCH
--SISTEMA DE ADMINISTRACION DE PROYECTOS
BEGINTRY
BEGINTRANSACTION
INSERTINTOSISTEMA
VALUES(8,'Sistema de Administración de Proyectos','A','-')
INSERTINTOOPCIONVALUES('Registrar Nuevo Proyecto','A',8)
INSERTINTOOPCIONVALUES('Modificar Proyecto','A',8)
INSERTINTOOPCIONVALUES('Eliminar Proyecto','A',8)
INSERTINTOOPCIONVALUES('Registrar Actividades','A',8)
INSERTINTOOPCIONVALUES('Registrar Recursos','A',8)
COMMITTRANSACTION
PRINT'SISTEMA INSERTADA'
ENDTRY
BEGINCATCH
ROLLBACKTRANSACTION
PRINT'SE TIENE EL ERROR : '+ERROR_MESSAGE()
PRINT'NO SE INSERTARON NI LA CABECERA NI LOS DETALLES'
ENDCATCH
4. Cree los stored procedures necesarios para realizar el
Mantenimiento de todas las tablas de la base de datos Cerberos (los
stored procedures sólo contienen primitivas) (8 puntos).
3. /*1 SELECT * FROM USUARIO */
CREATEPROCEDUREUSP_MANTTOUSUARIO
(
@opcCHAR(2),
@CodusuINT,
@NomUsuVARCHAR(50),
@NomVARCHAR(100),
@ApeVARCHAR(100),
@EstCHAR(1),
@pwdVARCHAR(250)
)
AS
BEGIN
SETNOCOUNTON;
if@opc='1'
INSERTINTOUSUARIO(CodUsuario,NombreUsuario,Nombres,Apellidos,Estado,Co
ntrasena)
VALUES (@Codusu,@NomUsu,@Nom,@Ape,@Est,@pwd)
if@opc='2'
UPDATEUSUARIOSETcontrasena=@NomUsu
WHEREcodusuario=@Codusu
if@opc='3'
SELECTCodUsuario,NombreUsuario,EstadoFROMUSUARIO
WHEREcodUsuario=@Codusu
if@opc='4'
SELECTCodUsuario,NombreUsuario,EstadoFROMUSUARIO
if@opc='5'
DELETEUsuario
WHEREcodUsuario=@Codusu
END
EXECUSP_MANTTOUSUARIO'1',7,'GRODRIGUEZ','GUIDO','RODRIGUEZ','A','GRODR
IGUEZ'--INSERTAR
EXECUSP_MANTTOUSUARIO'2',7,'XXXX','','','',''--ACTUALIZAR
EXECUSP_MANTTOUSUARIO'3',7,'','','','','' --BUSQUEDA
EXECUSP_MANTTOUSUARIO'4','','','','','','' --LISTAR
EXECUSP_MANTTOUSUARIO'5',7,'','','','','' --ELIMINAR
/*2 SELECT * FROM SISTEMA */
CREATEPROCEDUREUSP_MANTTOSISTEMA
(
@opcCHAR(2),
@CodSistINT,
@NomSistVARCHAR(200),
@EstCHAR(1),
@UriVARCHAR(500)
)
AS
BEGIN
SETNOCOUNTON;
if@opc='1'
INSERTINTOSISTEMA(Nombre,Estado,uri)
VALUES (@NomSist,@Est,@Uri)
if@opc='2'
UPDATESISTEMASETEstado=@Est
WHERECodSistema=@CodSist
if@opc='3'
SELECTCodSistema,Nombre,EstadofromSISTEMA
WHEREcodSistema=@CodSist