La primera vez que me engañes sera culpa tuya;la segunda vez sera mia.
Proverbio árabe

Archivos en el mes 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.

Basurilla que deja el Eclipse

trash_can.jpgEclipse guarda el histórico de las versiones de los archivos que modificamos dentro de nuestro workspace. Esta información se guarda en el directorio ".metadata > .plugins > org.eclipse.core.resources > history" dentro de nuestro workspace. Esta información puede ocupar fácilmente varias decenas de megas miles repartidas en varios miles de ficheros.

Los logs, archivos temporales y otra basurilla de los servidores dentro del eclipse podemos encontrarla en el directorio ".metadata > .plugins > org.eclipse.wst.server.core".

Seguro que hay formas de gestionar mejor esta basurilla, y seguro que hay bastante más. 

Newsletter Lycka Bonita Junio / Julio 2008

Bueno, pues hablemos de lo hecho los anteriores dos meses, y de lo que preveo hacer los próximos dos.

Abril / Mayo 2008

Pues sabéis que Mayo ha sido un mes … duro, a pesar del cumple de Lycka, por lo mal que lo he pasado con la muela y por el pico de trabajo (que aún dura) en el que estoy inmerso. He ido a trabajar tres días sin dormir por el dolor, y aún así he hecho más horas de las que marcaba mi horario. Por eso me perdí comidas familiares y la visita a la Riberexpo – Peñafiel – Sacramenia. Cuando una puerta se cierra se abren otras, y a cambio he visto dos temporadas de 24.

Por esta falta de tiempo para publicar con suficiente calidad, sólo he publicado 11 entradas relacionadas con el trabajo.

13 horas de deporte en dos meses me parece pobre, y los viajes siguen desgraciadamente pendientes, sólo un nuevo lugar visitado y sin cámara.

Junio / Julio 2008

El blog se está estabilizando en 25 lectores de RSS y unos 100 visitantes únicos los días laborables (140 este martes). Me alegra que la gente lea esto.

Sí, tienen que venir estos dos meses abundantes artículos relacionados con Spring, Web Services, AOP y SOA y cuanto antes mejor para disfrutar más de la jornada intensiva.

Crearé dos nuevas secciones dentro de Software > Metodología : Buenas Prácticas y Malas Prácticas.

Además, hablaré de las olimpiadas de baloncesto, de Lycka, May y Nui.

Tengo que llegar a las 100 horas de deporte sí o sí (llevo 59 horas), y de paso volver a los 95 kilos. También tengo que ponerme al día con 9 nuevos lugares. Y conocer a Nui :)

Estoy on fire

Vaya vaya con el Jero. Hacía muchísimo que no jugaba de alero, y sigo echando de menos mis tiempos de base. 4 de 4 en triples otra vez, suavecitos y limpitos. Esta vez sí que sirvieron para ganar el partido. Toy calentito oiga usté. Los cuatro, con las mismas sensaciones que en el anterior partido. Y otra vez plenamente convencido de que si tiro 20 triples, meto 20 limpios.

Contiunará ? 

PD, dos consejos para ahorrar combustible, respetar la distancia de seguridad y tomártelo con calma.

PPDD, me encontré con el Currupipi y me ha dicho que me ve más delgado (normal, he perdido más de cinco kilos) … me estaría tirando los tejos ??? XD

Mis primeros pasitos en PL/PSQL

Esta mañana me surgió la necesidad de implementar un procedimiento en PL/PSQL. Gracias a la ayudita del Vélez, he podido hacer esto en una hora. 

Un ejemplo de prueba y no tiene que ver con nada real podría ser: 

CREATE OR REPLACE PROCEDURE ESQUEMA_PROPIETARIO.DESBLOQUEO_SOLICITUDES (codidgoSolicitud IN NUMBER) IS

/*********************************************************************

   NAME:       DESBLOQUEO_SOLICITUDES

   PURPOSE:      Desbloquear solicitudes del esquema

   REVISIONS:

   Ver        Date        Author           Description

   ———  ———-  —————  —————————

   1.0        12/06/2008          1. Created this procedure.

*********************************************************************/

/* Variables auxiliares */

 

codigoOrganismoAUX   NUMBER;

 

CURSOR codigoOrganismo IS

    SELECT codigoOrganismo

        FROM tabla_organismos

        WHERE codigoSolicitud = codigoSolicitud;

BEGIN

    /* Inicializamos las variables */

 

    OPEN codigoOrganismo;

    FETCH codigoOrganismo INTO codigoOrganismoAUX;

    CLOSE codigoOrganismo ;

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

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

 

    /* Desbloqueamos la solicitud */

    update

        tabla_solicitudes

    set ESTADO_SOLCITUD = 'EDICION'

    where codigo_solicitud = codSolicitud;

    /* Desbloqueamos las propuestas de la solicitud */

    update

        tabla_propuestas

    set ESTADO_SOLCITUD = 'EDICION'

    where codigo_organismo = codigoOrganismoAUX;

 

dbms_output.put_line('FIN DEL PROCEDIMIENTO ');

EXCEPTION

   WHEN OTHERS

   THEN

        rollback;

        raise;

END DESBLOQUEO_SOLICITUDES;

/

Nuestra querida diosa de Oracle, cuyo nombre no mencionaré en vano, me ha dicho que es una mierdecilla, y que el lunes me enseña… ardo en deseos de aprender :)  

Comenta