Escribir un bloque PL/SQL que pida dos identificadores de profesores y determine cul de los dos est ms cerca de cero.
DECLARE
V1 NUMBER:=&V1;
V2 NUMBER:=&V2;
BEGIN
IF V1<V2 THEN
DBMS_OUTPUT.PUT.LINE('VALOR cercano a cero='||v1);
ELSE
DBMS_OUTPUT.PUT.LINE('VALOR cercano a cero='||v2);
END IF;
END;
/
Escribir un bloque PL/SQL que convierta una determinada cantidad expresada en segundos a horas, minutos y segundos.
DECLARE
NUM_SEG NUMBER:=&VAL;
H INTEGER;
M INTEGER;
S INTEGER;
BEGIN
H:=NUM_SEG/3600;
M:=(NUM_SEG/60)-60;
S:=NUM_SEG MOD 60;
DBMS_OUTPUT.PUT_LINE('H:'||H||'M:'||M||'S'||S);
END;
/
Mostrar el contenido de una variable que contenga la capacidad total de todas las aulas del edificio de Informtica (EUI). En
este caso el edificio de informtica lo sustitu por un edificio llamado C.
DECLARE
V1 NUMBER:=&V1;
V2 NUMBER:=&V2;
V3 NUMBER:=&V3;
CAP NUMBER;
BEGIN;
CAP:=V1+V2+V3;
DBMS_OUTPUT.PUT_LINE('CAPACIDAD='||CAP);
END;
/
1.
Cree una funcin que calcule la media de dos nmeros. Compruebe su funcionamiento.
CREAR FUNCION
CREATE OR REPLACE FUNCTION MEDIA(A IN NUMBER,BIN NUMBER) RETURN NUMBER IS
BEGIN
RETURN(A*B)/2;
END MEDIA;
/
APLICAR FUNCION
CREATE OR REPLACE FUNCTION MEDIA (A IN NUMBER,B IN NUMBER) RETURN NUMBER IS
BEGIN
RETURN(A*B)/2;
END MEDIA;
/
DECLARE
C NUMBER:=&V1;
D NUMBER:=&V2;
RES NUMBER;
BEGIN
RES:=MEDIA(C,D);
DBMS_OUTPUT.PUT_LINE('LA MEDIA ES'||RES);
END;
/
Mostrar, ordenados por el cdigo, el nombre de todos los profesores, utilizando un cursor.
SET SERVEROUTPUT ON;
SET VERIFY OFF;
DECLARE
CURSOR C_PROFES IS
SELECT NOMBRE
FROM PROFESORES
ORDEB BY ID_PROFESORES;
BEGIN
FOR EJER7 IN C_PROFES LOOP;
DBMS_OUTPUT.PUT_LINE('NOMBRE:'||EJER7.NOMBRE);
END LOOP;
END;
/