4
 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 !"#rocedimiento almacenado para grabar los datos a la tabla alumno"! D$L%M%T$& '' C&$AT$ #&OC$DU&$ (bdcolegio(()&A*A&+DATOS+ALUMNOS( , C-digo %NT,./0 Nombre VA&C1A&,23/0 Apellido VA&C1A&,2./0 Direcci-n VA&C1A&,4./0 $mail VA&C1A&,5./0 6ec7a+Nacimiento DAT$0 Distrito VA&C1A&,43/0 #ensi-n VA&C1A&,8./ /  *$)%N %NS$&T %NTO alumno VALU$S ,C-digo0 Nombre0 Apellido0 Direcci-n0 $mail0 6ec7a+Nacimiento0 Distrito0 #ensi-n/9  $ND'' D$L%M%T$& 9 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::!" Sentencia SQL para grabar los Datos; "!

Sql_Avanzado

  • 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