Sql

5
SQL AVANZADO Trabajar con la tabla ALUMNO creada en la actividad de la Unidad 3 1. Crear un procedimiento almacenado que permita grabar datos a la Tabla ALUMNO. 2. Crear un procedimiento almacenado que permita actualizar datos a la tabla ALUMNO. 3. Crear un trigger que no permita grabar un nombre y apellido que ya exista en la tabla ALUMNO. 4. Crear un trigger que no permita grabar si en el campo de fecha de nacimiento se ingresa una fecha mayor al año 01/01/95 Desarrollo Estos ejercicios es la continuación de SQL Básico, desde aquí. 1.- Crear un procedimiento almacenado que permita grabar datos a la Tabla ALUMNO. /*Procedimiento almacenado para grabar los datos a la tabla alumno*/ DELIMITER $$

description

programacion

Transcript of Sql

SQL AVANZADOTrabajar con la tabla ALUMNO creada en la actividad de la Unidad 31. Crear un procedimiento almacenado que permita grabar datos a la Tabla ALUMNO.

2. Crear un procedimiento almacenado que permita actualizar datos a la tabla ALUMNO.

3. Crear un trigger que no permita grabar un nombre y apellido que ya exista en la tabla ALUMNO.

4. Crear un trigger que no permita grabar si en el campo de fecha de nacimiento se ingresa una fecha mayor al ao 01/01/95Desarrollo

Estos ejercicios es la continuacin de SQL Bsico, desdeaqu.

1.- Crear un procedimiento almacenado que permita grabar datos a la Tabla ALUMNO.

/*Procedimiento almacenado para grabar los datos a la tabla alumno*/DELIMITER$$CREATE PROCEDURE`bdcolegio`.`GRABAR_DATOS_ALUMNOS`(CdigoINT(5),NombreVARCHAR(30),ApellidoVARCHAR(35),DireccinVARCHAR(75),EmailVARCHAR(45),Fecha_NacimientoDATE,DistritoVARCHAR(70),PensinVARCHAR(15))BEGININSERT INTOalumnoVALUES(Cdigo, Nombre, Apellido, Direccin, Email, Fecha_Nacimiento, Distrito, Pensin);END$$DELIMITER;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/* Sentencia SQL para grabar los Datos: */CALLgrabar_datos_alumnos ('11','Rogelio','Matrix Zero','Rosas','[email protected]','1999-12-12','San juan','1111')

2.-Crear un procedimiento almacenado que permitaactualizar datos a la tabla ALUMNO.

/*Procedimiento almacenado para actualizar datos de la tabla alumno*/DELIMITER$$CREATE PROCEDURE`bdcolegio`.`ACTUALIZAR_DATOS_ALUMNOS`(pCdigoINT(5),NombreVARCHAR(30),ApellidoVARCHAR(35),DireccinVARCHAR(75),EmailVARCHAR(45),Fecha_NacimientoDATE,DistritoVARCHAR(70),PensinVARCHAR(15))BEGINUPDATEalumnoSETNombre=Nombre,Apellido=Apellido, Direccin=Direccin, Email=Email,Fecha_Nacimiento=Fecha_Nacimiento, Distrito=Distrito, Pensin=PensinWHERECdigo=pCdigo;END$$DELIMITER;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/*Sentencia SQL para Actualizar datos de la tabla alumno*/CALLactualizar_datos_alumnos ('10','Santos ','Matrix Resonancia ','Rosas carcajadas','[email protected]','1999-12-12','San Loreto','9999')

3.- Crear un trigger que no permita grabar un nombre y apellido que ya exista en la tabla ALUMNO.

SELECT * FROM XT_RESPALDO_ALUMNOCREATE TRIGGER GRABAR_NOT_APE_NOMON alumno FOR INSERTASDECLAREnom VARCHAR(30),apellid VARCHAR(35)SELECTnom=Nombreapellid=ApellidoFROM insertedIF (SELECT COUNT(*) FROM alumno WHERE Nombre=nom AND Apellido=apellid)>1BEGINRaisError('Nombre, Apellido ya existe',0,1)ROLLBACK TRANSACTIONENDGo

4.- Crear un trigger que no permita grabar si en el campo de fecha de nacimiento se ingresa una fecha mayor al ao 01/01/95

CREATE TRIGGER GRABARON fecha FOR INSERTEDASDECLARE fecha DATESELECT fecha=mat_fecha from insertedIF (select count (*) FROM matricula WHERE mat_fecha > 01/01/1995)BEJNRaisError (Fecha de matrcula es mayor a 01/01/1995)ROLLBACK TRANSACTIONENDGo