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
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.