proceso de creación
// formato a la Creación o la sustitución Procedimiento procedure_name (p_name del tipo) AS v_Name del tipo; el inicio ***** Fin ; // instancia con el número de empleado, entrar en el sector y para encontrar el salario aumenta la Creación o la sustitución Procedimiento add_sal (p_empno emp.empno % del tipo) AS v_addsal Número ( 4. ); v_deptno emp.deptno % tipo; el comenzar SELECT DEPTNO EN v_deptno de EMP DONDE EMPNO = p_empno; IF v_deptno = 10 entonces v_addsal: = 150 ; elsif v_deptno = 20 entonces v_addsal: = 200 ; elsif v_deptno = 30 entonces v_addsal: = 250 ; más v_addsal: = 300 ; terminar si ; actualización emp establece sal = sal + v_addsal donde empno = p_empno; dbms_output.put_line ( 'Para aumentar la ' || v_addsal || ' meta ' ); Fin ; // procedimiento de llamada Ejecutar add_sal ( 7788 );
// o
DECLARE
BEGIN
add_sal (7788);
Fin;
la creación de funciones
// al número de empleado como parámetro y devuelve el salario medio en el sector donde el empleado. Crear o reemplazar la función avg_sal (f_empno en emp.empno % tipo) de retorno emp.sal % escriba AS avg_sal emp.sal % escriba; la comienzan SELECT AVG (SAL) EN avg_sal de EMP DONDE DEPTNO = ( SELECT DEPTNO de EMP DONDE EMPNO = f_empno ); retorno avg_sal; Fin ; // llamada comenzará dbms_output.put_line (avg_sal ( 7788 )); terminar ;
gatillo
// Cuando se crea un desencadenador en la tabla EMP, al insertar, eliminar o modificar la información del empleado, // estadísticas del número de empleados y el salario medio después de la operación, y la salida. la Creación o el reemplazar el gatillo count_avg_sal el After INSERT o la Supr o actualización EN emp DECLARE v_avg_sal emp.sal % del tipo; v_count Número El ; el inicio del SELECT AVG (SAL), COUNT ( * ) EN v_avg_sal, v_count de emp; dbms_output.put_line ( ' salario medio : ' || v_avg_sal ||' El número total de personas es: ' || v_count); Fin ; // condición de activación se cumple desencadenará actualización emp SET SAL = 3000 el DONDE empno = 7788 ;