consultas y reportes

5
Reportes y consultas CURSOS IMPARTIDOS INPUT select id_curso, nombre_curso, dia_impartido from Ceclav.dbo.Curso OUTPUT ALUMNOS INSCRITOS POR PROMOTOR INPUT SELECT p.id_promotor, p.nombre_promotor, p.apellido_pat, (SELECT COUNT (*) FROM Ceclav.dbo.Inscripcion i WHERE p.id_promotor = i.id_promotor) AS alumnos_inscritos FROM Ceclav.dbo.Promotor p; OUTPUT

Upload: cinthiaerendida

Post on 08-Jul-2015

290 views

Category:

Business


0 download

TRANSCRIPT

Reportes y consultas

CURSOS IMPARTIDOS

INPUT

select id_curso, nombre_curso, dia_impartido

from Ceclav.dbo.Curso

OUTPUT

ALUMNOS INSCRITOS POR PROMOTOR

INPUT

SELECT p.id_promotor, p.nombre_promotor, p.apellido_pat,

(SELECT COUNT (*) FROM Ceclav.dbo.Inscripcion i

WHERE p.id_promotor = i.id_promotor) AS alumnos_inscritos

FROM Ceclav.dbo.Promotor p;

OUTPUT

CURSOS QUE IMPARTEN LOS MAESTROS

INPUT

SELECT id_prof, nombre_prof, apellido_mat, nombre_curso

FROM Ceclav.dbo.Profesor, Ceclav.dbo.Curso

WHERE id_curso = id_curso_imp

OUTPUT

CALIFICACIONES DE ALUMNOS

INPUT

SELECT c.id_alumno ,a.nombre_alumno, a.apellido_pat, c.id_curso,

c.calificacion

FROM Ceclav.dbo.Alumno a, Ceclav.dbo.Calificacion c

WHERE a.id_alumno = c.id_alumno

OUTPUT

Procedure

PROCEDIMIENTO ALMACENADO PARA DETERMINAR UNA NUEVA INSCRIPCIÓN

INPUT

CREATE PROCEDURE NuevaInscripcion @id_alumno INT

AS

--Declaración de la variable para la nueva inscripción

DECLARE @id_insc INT

-- Se toma el valor maximo de la tabla inscripción

SELECT @id_insc=MAX(id_inscrip)

FROM Inscripcion

---Determinando la siguiente inscripción

SELECT @id_insc=@id_insc+1

---Insertando la nueva inscripción

INSERT INTO Inscripcion(id_inscrip, id_curso, id_alumno, id_prof,

id_promotor, pago_insc)

VALUES(@id_insc, GETDATE(), @id_alumno)

---Regresando el valor de la inscripción

RETURN @id_insc;

Transacción

TRANSACCIÓN INICIO DE UNA INSCRIPCIÓN

INPUT

INSERT INTO Alumno(id_alumno, apellido_pat, apellido_mat, direccion)

VALUES(239379, 'Angelica', 'Naranjo', 'F. I. Madero');

SAVE TRANSACTION ComienzoInscripcion;

INSERT INTO Inscripcion(id_inscrip, id_curso, id_prof, id_alumno,

id_promotor, pago_insc)

VALUES(2000, 383, 1005, 239379, 999, '600.00');

IF @@ERROR<> 0 ROLLBACK TRANSACTION ComienzoInscripcion;

COMMIT TRANSACTION

Trigger

DISPARADOR QUE SE UTILIZA PARA INSERTAR Y ACTUALIZAR LA TABLA CURSO

CON MINUSCULA

INPUT

CREATE TRIGGER CambioCurso

ON Curso

FOR INSERT, UPDATE

AS

UPDATE Curso

SET nombre_curso = LOWER(nombre_curso)

WHERE Curso.id_curso = inserted.id_curso;

DISPARADOR QUE SE UTILIZA PARA INSERTAR Y ACTUALIZAR LA TABLA CURSO

CON MAYUSCULA

INPUT

CREATE TRIGGER CambioCurso

ON Curso

FOR INSERT, UPDATE

AS

UPDATE Curso

SET nombre_curso = UPPER(nombre_curso)

WHERE Curso.id_curso = inserted.id_curso;