Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2013, 17:53
GhostLead
 
Fecha de Ingreso: noviembre-2013
Mensajes: 2
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta DUDA SQL Función Básica

Hola muchachos hace años que no uso el sql y lo necesito para crear una función almacenada que dado los código de tres empleados determine el empleado que más gana y retorne su código y salario. El mismo que deberá ser impreso a través de un bloque no nominado utilizando CASE



La impresión deberia ser similar a:



De los empleados de códigos: 101, 105, 109
El empleado 105 es quién más gana y su salario es de 1700

Gracias tengo esto apenas :/
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION fn106(n n1 NUMBER, n2 NUMBER, n3 NUMBER ,v_empno emp.empno%TYPE) RETURN varchar2 IS
  2. v_msg varchar2(40);
  3.  v_sal emp.sal%TYPE;
  4. mayor NUMBER := 0;
  5.  
  6.  BEGIN
  7.   SELECT sal INTO v_sal FROM emp WHERE empno = v_empno;  
  8.  
  9. CASE  
  10.     WHEN (v_sal > 0 AND v_sal <= ) THEN  
  11.          v_msg := 'v_sal';  
  12.   WHEN (v_sal > 2500 AND v_sal <= 4000) THEN
  13.           v_msg := 'Salario Regular';
  14.   WHEN (v_sal > 4000) THEN  
  15.          v_msg := 'Salario Bueno';
  16.   ELSE    v_msg := 'Caso Desconocido';  END CASE;
  17.  
  18.   v_msg := to_char(v_sal) || ' - ' || v_msg;
  19.   RETURN v_msg;
  20. END;

Última edición por gnzsoloyo; 12/11/2013 a las 19:01