Procedimientos, funciones, disparadores de la creación y uso

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 ;

 

Supongo que te gusta

Origin www.cnblogs.com/mobai95/p/12516644.html
Recomendado
Clasificación