Documente Academic
Documente Profesional
Documente Cultură
SOLUCION SQL:
--SET SEVEROUTPUT ON
CREATE OR REPLACE
PROCEDURE P_DEP_SALARY_MAX_MIN(P_NOM_DEPART
VARCHAR2)IS
V_NOMBRE_DEP HR.DEPARTMENTS.DEPARTMENT_NAME%TYPE;
V_APELLIDO HR.EMPLOYEES.LAST_NAME%TYPE;
V_SALARIO HR.EMPLOYEES.SALARY%TYPE;
CURSOR C_MAXIMO IS
SELECT RESULT_MAXIMO.DEPARTAMENTO,
E.LAST_NAME APELLIDO,
RESULT_MAXIMO.SALARIO_MAX
DEP.DEPARTMENT_NAME DEPARTAMENTO,
MAX(EMP.SALARY) SALARIO_MAX
EMPLOYEES EMP
GROUP BY DEP.DEPARTMENT_ID,
DEP.DEPARTMENT_NAME
ORDER BY 1)RESULT_MAXIMO
CURSOR C_MINIMO IS
SELECT RESULT_MINIMO.DEPARTAMENTO,
E.LAST_NAME APELLIDO,
RESULT_MINIMO.SALARIO_MIN
DEP.DEPARTMENT_NAME DEPARTAMENTO,
MIN(EMP.SALARY) SALARIO_MIN
EMPLOYEES EMP
GROUP BY DEP.DEPARTMENT_ID,
DEP.DEPARTMENT_NAME
ORDER BY 1)RESULT_MINIMO
BEGIN
OPEN C_MAXIMO;
LOOP
END LOOP;
CLOSE C_MAXIMO;
OPEN C_MINIMO;
LOOP
DBMS_OUTPUT.PUT_LINE ('DEPARTAMENTO:
'||V_NOMBRE_DEP||' EMPLEADO: '||V_APELLIDO ||'
SALARIO_MINIMO: '|| V_SALARIO);
END LOOP;
CLOSE C_MINIMO;
END;
LINEA EJECUCION:
EXECUTE P_DEP_SALARY_MAX_MIN('IT');
RESULTADO:
SOLUCION SQL:
--SET SEVEROUTPUT ON
CREATE OR REPLACE
V_APELLIDO_EMP HR.EMPLOYEES.LAST_NAME%TYPE;
V_NOMBRE_DEP HR.DEPARTMENTS.DEPARTMENT_NAME%TYPE;
CURSOR VALOR IS
RESULTADO.NOMBRE_DEP
FROM EMPLOYEES E,
DEP.DEPARTMENT_NAME NOMBRE_DEP
EMPLOYEES EMP
WHERE DEP.DEPARTMENT_ID=EMP.DEPARTMENT_ID
GROUP BY DEP.DEPARTMENT_ID ,
DEP.DEPARTMENT_NAME
)RESULTADO
WHERE E.DEPARTMENT_ID=RESULTADO.CODIGO_DEP
AND LOWER(RESULTADO.NOMBRE_DEP)=LOWER(P_NOM_DEP);
BEGIN
OPEN VALOR;
DBMS_OUTPUT.PUT_LINE('DEPARTAMENTO: '||
V_NOMBRE_DEP || ' EMPELEADO: '|| V_APELLIDO_EMP);
END LOOP;
CLOSE VALOR;
END;
LINEA EJECUCION:
EXECUTE P_DEP_SUELDO('EXECUTIVE','%K%');
RESULTADO:
SOLUCION SQL:
DECLARE
longitud number;
sump number;
cp number;
sumi number;
pi number;
ci number;
sumt number;
un number;
r number;
v number;
BEGIN
cedula := &INGRESE_CEDULA;
pp:=0;
sump:=0;
cp:=2;
LOOP
sump:=sump+pp;
dbms_output.put_line(pp);
cp := cp + 2;
IF cp>10 THEN
EXIT;
END IF;
----------------------------------------------------------------------------------
-------
LOOP
END IF;
dbms_output.put_line(pi);
ci:= ci + 2;
IF ci>10 THEN
EXIT;
END IF;
END LOOP;
if r>0 THEN
else
END IF;
dbms_output.put_line('Cedula VALIDA');
ELSE
dbms_output.put_line('Cedula NO VALIDA');
END IF;
----------------------------------------------------------------------------------
-------
ELSE
END IF;
END;
REALIZADO POR: EDISON MOROCHO