Last updated by at .

Oracle – Excepciones internas predefinidas

Written by lopezatienza on 12/06/2009 – 13:24 -

Estas excepciones no tienen que ser declaradas en la clausula DECLARE.

Simplemente se situan detras de la clausula WHEN y antes de THEN.

Las mas frecuentes son:

ACCESS_INTO_NULL : se intenta acceder a los atributos de un objeto no inicializado.

COLLECTION_IS_NULL : se intenta acceder a los elementos de una colección que no ha sido inicializada.

CURSOR_ALREADY_OPEN : Intentamos abrir un cursor abierto.

DUP_VAL_ON_INDEX : Se intenta almacenar un valor que crearía duplicados en la clave primaria o en una columna con la restricción UNIQUE.

INVALID_CURSOR : Operación no permitida en un cursor. Como cerrar o acceder sin ser abierto.

INVALID_NUMBER : Fallo al intentar convertir una cadena a un valor numérico.

LOGIN_DENIED : Intento de conexión a ORACLE con usuario o clave inválida.

NOT_LOGGER_ON : intento de acceso sin estar conectado.

NOT_DATA_FOUND : Una sentencia SELECT ... INTO que no devuelve ninguna columna.

PROGRAM_ERROR : Problema interno en la ejecución del programa.

ROWTYPE_MISMATC : La variable del cursor del HOST y la variable del cursor de PL/SQL pertenecen a tipos incompatibles.

SUBSCRIPT_OUTSIDE_LIMIT : Intento de acceso a un array o tabla anidada con un indice no existente.

STORAGE_ERROR : El bloque genera un error de memoria.

TIMEOUT_ON_RESOURCE : Se excede el tiempo de espera para un recurso.

TOO_MANY_ROWS : Sentencia SELECT ..... INTO devuelve más de una fila.

VALUE_ERROR : Error aritmético de conversión, de truncamiento, etc..

ZERO_DIVIDE : Intento de dividir por cero.


Autor: Antonio Lopez Atienza


Tags:
Posted in Oracle | No Comments »

Oracle – Excepciones definidas por el usuario

Written by lopezatienza on 12/06/2009 – 13:21 -

Se usan para definir condiciones de error definidas por el usuario.3 pasos a seguir:

1.- declarar la excepción de usuario en la sección de DECLARE;

EXCEPTION ;

2.- en el código ejecutable levantar la excepción con la orden:

RAISE ;

3.- Tratar la excepción según ya conocemos:

WHEN THEN 

La cláusula RAISE se puede usar todas las veces que queramos en el código.


Autor: Antonio Lopez Atienza


Tags:
Posted in Oracle | No Comments »

Oracle – Control de transacciones

Written by lopezatienza on 23/12/2008 – 16:38 -

CONTROL DE TRANSACCIONES

DEFINICION: Conjunto de operaciones dependientes unas de otras que se realizan en la BD. Para que la transacción se ejecute, han de realizarse todas y cada una de las partes u operaciones que la componen; En el caso de que alguna falle se dará por fallida toda la transacción.

 

El usuario puede definir el comienzo y el fin de una transacción.

 

EN ORACLE:

.- Comienza la transacción con la 1º orden SQL de la sesión de usuario o con la 1º orden posterior a la finalización de la transacción anterior. Read more »


Tags:
Posted in Oracle | 2 Comments »

Oracle – Funciones

Written by lopezatienza on 23/12/2008 – 16:19 -

Funciones de Cadena

 

Upper (cadena) : Transformacion en mayúsculas.
|| : Concatenación de cadena.
Initcap (cadena) : Cambia a mayúscula la primera letra.
Lower (cadena) : Transformacion en minúsculas.
Lpad (cadena,longuitud,caracteres) : Da a la cadena una determinada longitud añadiendo un conjunto de caracteres a su izquierda, si no pongo caracteres usa espacios.
Rpad : Igual que la anterior pero a la derecha.
Substr (cadena,m,n) : Extrae la subcadena de cadena que se encuentra entre los caracteres que ocupan los lugares entre m y n.
Soundex ('palabra') : Buscan palabra que suenan como la palabra.
Rtrim / Ltrim (cadena, caracteres) : Suprime un conjunto de caracteres de la parte derecha/izquierda de una cadena. Si no pongo caracteres borra espacios.
Ascii y chr : Devuelve el código ascii y chr convierte un numero a código ascii.
Lenght (cadena) : Longuitud de cadena.
to_number (cadena, ['formato']) : Convierte una cadena en un numero.

Read more »


Tags:
Posted in Oracle | No Comments »

Oracle – Triggers (Disparadores)

Written by lopezatienza on 23/12/2008 – 15:36 -

DISPARADORES

 

·         Bloques de PL/SQL nominados con las secciones:

– declarativa

– ejecutable

– manejo de excepciones

·         Almacenados en la BD (diccionario de datos: user_triggers).

·         Tipos de Disparadores:

– LMD sobre tablas

– Disparadores INSTEAD OF sobre vistas

– Disparadores del sistema sobre la BD o el Esquema.

·         Se ejecuta de manera implícita ante eventos:

– LMD sobre tablas (Insert, Delete, Update)

– LDD (Create, Alter, Drop) (Actualizado con Oracle 9i)

– Operaciones de la BD (ServerError, Logon, Logoff, Startup, Shutdown) (Actualizado con Oracle 9i) Read more »


Tags: ,
Posted in Oracle | 2 Comments »
RSS
MCC D5E