Está en la página 1de 13

CREATING STORED PROCEDURES:

Creating Procedures:
Donde esta el error?

La segunda, esta mal, porque el primer exception se levanta y la segunda ya no se levanta, es un


error muy malísimo y no debe hacerse.

exception when other then

null;
Hay 2 tipos de error, un error de sistema o un error en el archivo, por lo tanto en los primeros
errores son de sistema de que no pudo abrir el archivo, o no estaba el archivo, son errores de
sistema, al ultimo levantamos la exception porque encontramos el error en el timbre, por lo tanto
levantamos el error

EEMISION_MAPEOATEBTIMBREMAL
Aquí es para llamar al raise, que esta dentro del paquete, como paso por parámetro del raise, y
creamos el constant nDemoProceso y evantamos la exception “ERROR EN DEMO_PROCESO AL
INSERTAR DATOS”.
14/03/2019:

Si no existe empresa a donde llama?

Levanta el raise noExisteEmpresa, y el mensaje, No Existe Empresa en inserción y se sale.

Si regresa id_empresa para a realizar el inter into xxfe4_emisores_33

Si es exitoso regresa valores.

Si al insertar, hay un error por un valor equivocado en un campo, levanta la exception


VALUE_ERROR

Si es cualquier otro error al insertar, levanta otro tipo de error.


Al realizar el update, si llegaramos a actualizar con un valor mayor, levanta la primera exception
VALUE_ERROR, cualquier otro error de actualización, levanta OTHERS,

Este es un error de lógica de negocios, para que vamos a levantar una excepción par aun valor que
no existe., es malo para la lógica empresarial
Esta intentando actualizar algo que no existe, no es un error según el programa, pero para la lógica
de negocios, esto es malo.

Que pasa si enviamos un varchar en lugar de un numero?, lo manejaron? Si, lo van a manejar en el
WHEN OTHER al ultimo del insertar.

Esto no esta mal, solo que entendio que va a hacer una exception al final, pero hay que ser mas
especifico, una exception por inserts, una por update, etc..
Chequemos otro caso: al actualizar yo veo personalmente, que el update when others, creo que
ahí podriamos tratar el caso cuando el valor excede. En general el procedimiento como lo trataron
esta bien. Lo interesante en nInsertar_Receptor, el cual te va a lanzar los errores, en el raise
dependiendo del valor. Revisa la función raise, y esta ampliamente definida, por lo que podría ser
otra manera de cachar los errores. Lanza un error dependiendo de los números que tenga
Si el case le ponen un valor que no tiene el when levanta exception o no?

Yo creo que no lo levanta, deberiamos checar eso., de hecho la programacion cuando


Este a manera personal es el mejor

Es similar al caso anterior, al momento de T_OPERACION=1 toma en cuenta al momento de


diplicar y cualquier otro error, OPCION=3 es la mejor parte de programación, realiza un select y un
delete, cuando pasa la exception, maneja el no_data_found para el select cuando no encuentra el
id y when others cuando realizas un delete =).

El único problema de estos cases, es que no toma en cuenda cuando el case when no tiene el
valor.
El primero es de la alumna, esta bien gacho xD, el segundo es el que compuso el maestro y dijo
que no necesariamente todo tiene que tener una exception, por eso quito eso, y es una función
además por lo que su función es regresar valores nadamas, no regresar exepciones

También podría gustarte