Hominis tota vita nihil aliud quam ad mortem iter est.
[Toda la vida de los hombres no es más que un camino hacia la muerte]
Séneca

Archivos del día 17 de June del 2008

Correciones PL / SQL

Quitar las trazas

dbms_output.put_line(' El valor de la codigoSolicitud es      –> '  || codigoSolicitud );

La razón, es que el procedimiento puede ser llamado desde cualquier parte, Java, COBOL… y se haría un lío sobre dónde escribir las trazas. 

Manejo de cursores

Los cursores son útiles cuando las consultas devuelve más de un valor. Si únicamente devuelve uno es más eficiente utilizar el siguiente código para asignar los resultados a variables:

 

   SELECT codigoOrganismo, descripcionOrganismo

     INTO codigoOrganismoAUX, descripcionOrganismoAUX

     FROM tabla_organismos

    WHERE codigoSolicitud = codigoSolicitud;

Hacer commit !

Siempre utilizar al final del procedimiento commit, para no depender del autocommit = true;

COMMIT;

Tratamiento de las excepciones

Los códigos de errores entre -20.000 y 0 son internos de Oracle, así que debemos asignar uno menor que -20.000.

 

EXCEPTION

   WHEN OTHERS

   THEN

      ROLLBACK;

      raise_application_error (-20110,

        'Error ' || TO_CHAR (SQLCODE) || ': '

        || SQLERRM

        );

 Gracias a nuestra todopoderosa gurú por las correcciones a mis primeros pasos en PL / SQL.