martes, 13 de noviembre de 2018

uso de cursores

Uso de cursores 

En PL/SQL el resultado de una consulta no va directo al terminal del usuario,si no que se guarda en un área de memoria ala que se accede mediante una estructura denominada cursores

Ejemplo:

Gestión de excepciones


Las excepciones sirven par tratar los errores y mensajes de las diversas  herramientas. Oracle tiene determinadas excepciones correspondientes algunos de los errores mas comunes,como por ejemplo:
NO_DATA_FOUND.Una orden de tipo SELECT INTO no ha devuelto ningun valor.
TOO_MANY_ROWS.Uuna orden SELECT INTO ha devuelto mas de una fila.

Se dispararan automaticamente al produccirse los errores asociados.El ejemplo anterior con gestion de excepciones seria:

DECLARE

v_ename VARCHAR(10);
  v_job VARCHAR(10);
  
 BEGIN
 SELECT ename,job INTO v_ename,v_job
   FROM EMP WHERE empno=7902;
   DBMS_OUTPUT.PUT_LINE(v_ename||'*'||v_job);
EXCEPTION
  WHEN NO_DATA_FOUND THEN
  insert into temp(col1) values('Error no hay datos');
WHEN TOO_MANY_ROWS THEN
  insert into temp(col1) values('Error demasiados datos');
WHEN OTHER THEN
  RAISE_APPLICATION_ERROR(-2000,'Error en la aplicacion');
END;
/

Estructura Modular

En esta aproximación podemos distinguir los siguientes tipos de programas:
  • BLOQUES ANÓNIMOS. No tienen nombre.La zona de declaraciones empieza con DECLARE
  • SUBPROGRAMAS. Son bloques que tienen nombre.La zona de declaraciones comienza con IS.A  su vez pueden ser de dos tipos:

-PROCEDIMIENTOS 
Su formato es el siguiente:
PROCEDURE<nombre del procedimiento>
[(<lista de parámetros>)]
IS
[<declaración de objetos locales>;]
BEGIN
<instrucciones>;
[EXCEPTION
<excepciones>;]
END[<nombreprocedimiento>];

-FUNCIONES.Su formato genérico es similar al de los procedimientos,pero estos pueden devolver un valor.


No hay comentarios:

Publicar un comentario