Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

VISTAS,FUNCIONES,TRIGERS Y PROCEDIMIENTOS ALMACENADOS EN SQL_SERVER.

Enviado por   •  12 de Marzo de 2018  •  861 Palabras (4 Páginas)  •  467 Visitas

Página 1 de 4

...

- Crear un procedimiento almacenado para insertar los datos de un alumno y sus 3 notas (a la tabla t_alumno). El procedimiento además de recibir los datos del alumno (dni, nombres, apellidos, nota1, nota2 y nota3) debe recibir el usuario que ingresa al alumno, los datos se ingresarán a través de una transacción. Si el usuario está registrado como docente la transacción se completa de forma satisfactoria y se informa a través de un mensaje. Si el usuario está registrado como administrativo la transacción debe fallar e informar del fallo a través de un mensaje de error. Si el usuario es inexistente la transacción también fallará e informará del fallo a través de otro mensaje de error.

create procedure Insertar_alumno_1

(@dni varchar(8),@nombres varchar(20),@apellidos varchar(20),

@nota1 int,@nota2 int,@nota3 int,@us_user varchar(8))

as

begin transaction producto

declare @us_nivel varchar(40)

set @us_nivel=(select us_nivel from t_usuario where @us_user=us_user)

insert into t_alumno

values (@dni,@nombres,@apellidos,@nota1,@nota2,@nota3)

if(@us_nivel='doc')

begin

print 'insertacion correcta'

commit transaction

end

else

begin

if(@us_nivel='admin')

begin

print 'no eres docente'

end

else

begin

print 'no esta registrado'

end

rollback transaction

end

select * from t_usuario

select * from t_alumno

exec Insertar_alumno_1 '72835678','RASHELL','MORALES',12,11,13,'72881243'

--------------------------------------------------------------------------

create procedure Insertar_alumno_2

(@dni varchar(8),@nombres varchar(20),@apellidos varchar(20),

@nota1 int,@nota2 int,@nota3 int,@us_nivel varchar(5))

as

begin transaction

if(@us_nivel='doc')

begin

print 'Insertacion correcta'

commit transaction

end

else

begin

if(@us_nivel='admin')

begin

print 'no eres docente'

end

else

begin

print 'no esta registrado'

end

rollback transaction

end

select * from t_usuario

select * from t_alumno

exec Insertar_alumno_2 '72848753','DEYVIS','LOPEZ',12,11,13,'doc’

- Crear las funciones necesarias para poder visualizar los nombres y apellidos de los alumnos (de la tabla t_alumno), su promedio final, y un mensaje que indique “Aprobado” o “Desaprobado”. Para la(s) función(es), se considera aprobado con nota mayor o igual a 11.

Por ejemplo, si la tabla t_alumno tuviera los siguientes registros:

- 46634523, Juan, Rulfo, 09, 10, 11

- 42343242, Gustavo, Becquer, 17,18,19

Lo que se debe mostrar usando la(s) función(es) es:

- Juan, Rulfo, 10, Desaprobado

- Gustavo, Becquer, 18, Aprobado

create function Promedio_Final

(@nota1 int,@nota2 int,@nota3 int)

returns varchar(20)

as

begin

declare @promedio int,@estado varchar(20)

set @promedio=((@nota1+@nota2+@nota3)/3)

if(@promedio>=11)

begin

set @estado='Aprobado'

end

else

begin

set @estado='Desaprobado'

end

return @estado

end

insert into t_alumno values('72345614','JHOYER','CARRASCO',05,08,07)

select nombres,apellidos,dbo.Promedio_Final(nota1,nota2,nota3)as Promedio from t_alumno

Código Completo para ejecutar en SQL Server 2012:

create database BD_Final

-------------------------------------------------

...

Descargar como  txt (10.8 Kb)   pdf (65.3 Kb)   docx (22.9 Kb)  
Leer 3 páginas más »
Disponible sólo en Essays.club