Upload
clau-rc
View
168
Download
0
Embed Size (px)
DESCRIPTION
diseño de base de datos
Citation preview
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./*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 permita actualizar 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/95CREATE 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