elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  GESTIONAR EXCEPCIONES EN ORACLE
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: GESTIONAR EXCEPCIONES EN ORACLE  (Leído 2,571 veces)
inquilin@19

Desconectado Desconectado

Mensajes: 81



Ver Perfil
GESTIONAR EXCEPCIONES EN ORACLE
« en: 1 Febrero 2012, 18:56 pm »

Hola a todos, vereis estoy haciendo unos ejercicios de Oracle sobre el tratamiento de excepciones, el código que tengo es el siguiente:
Código:
SQL> DECLARE
  2  numero EMPLE.EMP_NO%TYPE;
     apellido EMPLE.APELLIDO%TYPE;
     puesto EMPLE.OFICIO%TYPE;
     jefe EMPLE.DIR%TYPE;
     fecha EMPLE.FECHA_ALT%TYPE;
     salario EMPLE.SALARIO%TYPE;
     comision EMPLE.COMISION%TYPE;
     dep EMPLE.DEPT_NO%TYPE;
duplicado_no_emp EXCEPTION;
  5  BEGIN
  6  SELECT MAX(EMP_NO) INTO num_emple FROM EMPLE;
  7  SELECT SYSDATE INTO fecha FROM DUAL;
     apellido := 'VAZQUEZ';
     puesto := 'VENDEDOR';
     jefe := '7698';
     salario := '1200';
     comision := '200';
  8  dep := 20;
  9  num_emple := num_emple +1;     
 10  INSERT INTO EMPLE
     VALUES (numero, apellido, puesto,jefe,fecha,salario,comision,dep);
IF numero IN SELECT EMP_NO FROM EMPLE;
RAISE duplicado_no_emp;
END IF;
IF jefe = NULL
RAISE no_dir;
END IF;
EXCEPTION
 WHEN duplicado_no_em THEN
dbms_output.put_line('Número de empleado no puede estar duplicado');
WHEN no_dir THEN
dbms_output.put_line('¡Todo empleado tiene que tener jefe!');
END;
  /
No sé en que me falla pero no se ejecuta correctamente.
Otra duda que tengo, se supone que tengo que sacar de una tabla los dos empleados que mas cobran por oficio, he conseguido esto:
Código:
SQL> SELECT MIN(SALARIO), DEPT_NO FROM EMPLE GROUP BY DEPT_NO;
Pero no consigo sacar los dos que más cobran
Alguien me podría ayudar?
En cuanto resuelva el resto les subo por si a alguien le sirven
Un saludo y gracias de antemano
:D


En línea

Sólo mirando al frente se puede seguir, llevar lastres en el camino no te lo permiten
fran800m

Desconectado Desconectado

Mensajes: 204



Ver Perfil
Re: GESTIONAR EXCEPCIONES EN ORACLE
« Respuesta #1 en: 6 Febrero 2012, 19:23 pm »

Hace mucho que no toco PL, ¿pero no_dir no debería estar declarado?
y en el declare

 DECLARE
 numero EMPLE.EMP_NO%TYPE;
     apellido EMPLE.APELLIDO%TYPE;
     puesto EMPLE.OFICIO%TYPE;

¿no deberias separar con , en vez de ; ?

Si necesitas el máximo, ¿por qué usas min() ?

¿Qué mensaje de error et da?


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Asprotect y método de las excepciones
Ingeniería Inversa
4rS3NI( 4 2,424 Último mensaje 14 Abril 2005, 01:51 am
por 4rS3NI(
Documentacion sobre excepciones
Ingeniería Inversa
SeSoX 0 1,749 Último mensaje 19 Diciembre 2006, 14:21 pm
por SeSoX
Ayuda excepciones java!
Java
fosh 2 3,267 Último mensaje 27 Abril 2011, 07:31 am
por fosh
[ORACLE-JAVA] java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Java
abrtx 2 6,939 Último mensaje 21 Junio 2011, 15:35 pm
por abrtx
Problema con excepciones.
Java
|Miguel| 0 1,668 Último mensaje 5 Febrero 2012, 19:29 pm
por |Miguel|
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines