Archive for the ‘Oracle’ Category
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.
Tags: Oracle
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;
2.- en el código ejecutable levantar la excepción con la orden:
RAISE
3.- Tratar la excepción según ya conocemos:
WHEN
La cláusula RAISE se puede usar todas las veces que queramos en el código.
Tags: Oracle
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.
Tags: Oracle
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.
Tags: Oracle
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)
Tags: Oracle, Triggers
Posted in Oracle | 2 Comments »