Está en la página 1de 3

ANOTACIONES EXAMEN:

comprobar los triggers que tiene un usuario

saber meter procedimientos dentro de un paquete

crear procedimientos (estructura)


crear funciones (estructura)
crear triggers y saber cómo hacer que salten

HAY QUE PONER LAS EXCEPCIONES Y LOS FORMATOS BIEN

saber crear paquetes con el cuerpo

PRAGMA EXCEPTION

crear una tabla/crear un campo


hacer referencia de alguna vista (como puedo saber los triggers/restricciones de
una tabla)
un trigger
una tabla anidadas/indexadas/varray
borrar
etc
---------------------------------------------------------------------
-trigger--> de sustitución, de sistemas y de tablas
de sustitución--> estan asociados a las vistas: en lugar de hacer insertar, borrar
o actualizar una vista, se hace sobre las tablas.
de sistemas--> desencadena una acción en un sistema informático
de
-paquete--> es un objeto que sirve para agrupar funciones y procedimientos

-----------------------------------------------------------------------------------
-----
RESOLVER DUDAS EXAMEN:
-------------------------TIPOS DE
BUCLES------------------------------------------------
Los bucles sirven para cuando hay que recorrer algo varias veces. Es una
instruccion repetitiva que se va a repetir un número de veces y que va a tener una
condición
para que termine. Va a tener una inicialización y un final.
///////////////////
WHILE <condicion>
LOOP
Instrucciones;
END LOOP;
///////////////////////
FOR <variable> in
<mínimo>..<máximo> <-- esto es el número de veces que se va a repetir, es decir,
el cursor
LOOP
instrucciones;
END LOOP;
///////////////////////
LOOP
instrucciones;
EXIT WHEN <condición<;
instrucciones;
END LOOP;
///////////////////////
Con el while puede ocurrir que nunca llega a entrar, y el bucle LOOP es como un DO
WHILE, que lo hace una vez al menos.

El bucle FOR se utiliza cuando sé el número de veces que voy a realizar una
instrucción.
-----------------------
ROWID-------------------------------------------------------------
Es un tipo de dato que almacena direcciones de memoria. Consiste en usar el ROWID
como selección para actualizar las filas.
SELECT ROWID, columna1, columna2, ... FROM tabla;
----------------------
FECTH--------------------------------------------------------------
Mete el cursor dentro de una variable. <--Duda
ETCH cursor INTO variable1, variable2, ...;
---------------------
EXCEPCIONES---------------------------------------------------------
Sirven para poder manipular los errores, más o menos.
EXCEPTION
WHEN <nombre_excepción> THEN
<instrucciones>
END;
/

Hemos visto el NO_DATA_FOUND, el WHEN OTHERS y el TOO_MANY_ROWS.


El NO_DATA_FOUND se produce cuando un cursor implícito no encuentra nada.
El TOO_MANY_ROWS se produce cuando un cursor implícito devuelve más de una fila.
El DUP_VAL_ON_INDEX se produce vuando se inenta almacenar un valor que crearía
duplicados en la clave primaria o en una columna con la retricción unique.
El WHEN OTHERS es como un etc.
/////////////////////////////////////////////////
Para utilizar las excepciones:
DECLARO LA EXCEPCION:
<nombreexcepcion> EXCEPTION;

LANZO LA EXCEPCIÓN:
RAISE <nombreexcepción>;

TRATAR LA EXCEPTION:
WHEN <nombreexcepción>
THEN <instrucciones>;

Solo se declaran las que son definidas por el usuario.


--------------------------TRIGGERS---------------------------------------------
Es algo que va a ocurrir pero no sabemos cuándo.
-DISPARADORES DE TABLAS
-DISPARADORES DE SUSTITUCIÓN
-DISPARADORES DEL SISTEMA

Hoy en día, funcionan para las empresas de teletrabajo, pues así se controla cuánto
lleva inactivo un trabajador, por ejemplo (si lleva 20 min inactivo, salta el
trigger).

--------------------------VISTAS-----------------------------------------------
Una vista es un objeto que se crea para ver los datos almacenados en una tabla
según una condición. Para insertar en un a vista, tiene que ser solo de una tabla.
Si es en más de una,
solo se pueden consultar.

CREATE VIEW nombre_vista AS


<instruccion select>
FROM nombre_tabla
WHERE <condicion>;

También podría gustarte