Introducción a PL/SQL
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,87 KB
Tipos de Datos
Hay otros tipos de datos no soportados por el SQL, por ejemplo el tipo BOOLEAN, con valores TRUE, FALSE o NULL.
Declaraciones
%TYPE y ROWTYPE
Cuando se quiera declarar una variable con el mismo tipo que otra del mismo programa o de una columna concreta, o una fila completa de una tabla.
Procedimientos y Funciones
Pueden ser de tres tipos: IN, OUT, IN OUT. Si no se especifica nada, el valor por defecto es IN.
Operadores y Expresiones
Operadores
- **: Potencia.
- +- (usuarios): signo positivo o negativo.
- *: Multiplicación.
- /: División.
- +: Suma.
- -: Resta.
- ||: Juntar varias cadenas en una.
- =, <, >, <=, >=, <>, !=, IS NULL, LIKE, BETWEEN, IN: Igual, menor, mayor, menor o igual, mayor o igual, distinto, distinto, es nulo, como, entre, en.
- NOT, AND, OR: Negación lógica, operador AND y OR lógico.
Funciones
- Decode: (argumento, patrón1, resultado1, patrón2, resultado2..., resultado_por_defecto) Compara el valor del argumento con cada uno de los patrones y en cuando encuentra la coincidencia devuelve el resultado correspondiente o el resultado por defecto en caso de que no haya coincidencia. Puede tomar el valor NULL cualquier patrón.
- NVL: (valor1, valor2) Si el valor1 es nulo, entonces devuelve el valor2, en caso contrario devuelve el valor1.
- Replace: (cad_argumento, cad_a_reemplazar, cad_que_reemplaza) Devuelve la cad_argumento sustituyendo en ella cada ocurrencia de la cad_a_reemplazar por cad_que_reemplaza, pudiendo tomar esta última el valor NULL, entonces se borrarían todas las cad_a_reemplazar que hubiera en cada cad_argumento.
Estructuras de Control
Controlan el flujo del programa, la toma de decisiones y programar las acciones en consecuencia. Están basadas en la evaluación de una expresión lógica más o menos compleja, que constituye en sí misma una condición.
Tipos de Estructuras de Control
- IF-THEN: Para una o más condiciones.
- ELSIF-THEN: Permite añadir varias condiciones.
- ELSE: Añade una opción de acción por defecto en caso de que no se cumpla ninguna condición.
- CASE-WHEN..THEN-ELSE-END CASE: Estructura de control condicional que permite ejecutar distintas sentencias ante los distintos valores posibles de la misma condición.
- LOOP-EXIT WHEN-END LOOP: Para construir bucles. Hay dos formas de salir: EXIT y EXIT WHEN.
- WHILE..LOOP-END LOOP: Es un tipo de bucle donde la ejecución del programa tiene que evaluar la condición antes de ejecutar el bloque de sentencias del bucle.
- FOR..IN.LOOP-END LOOP: Bucle que incrementa el valor de un contador dentro de un intervalo fijado. El número de veces que se ejecutará el bucle se conocerá de antemano.
Gestión de Errores
- CASE_NOT_FOUND: Ninguna de las condiciones de WHEN en la estructura CASE se corresponden con el valor evaluado y no existe ELSE.
- CURSOR_ALREDY_OPEN: El cursor ya está abierto.
- INVALID_CURSOR: La operación que se realiza con el cursor no es válida.
- INVALID_NUMBER ó VALUE_ERROR: La conversión de una cadena a valor numérico no es posible porque la cadena no representa un valor numérico.
- LOGIN_DENIED: Un programa intenta acceder a la base de datos con usuario o password incorrecta.
- NOT_LOGGED_ON: Intenta ejecutar algo en la base de datos sin haber formalizado la conexión.
- NO_DATA_FOUND: SELECT INTO no devuelve registros.
- TOO_MANY_ROWS: SELECT INTO devuelve más de un registro.
- TIMEOUT_ON_RESOURCE: Se ha acabado el tiempo de espera por algún recurso.
- ZERO_DIVIDE: Intenta hacer una división de un número entre 0.
- OTHERS: Errores no tenidos en cuenta en las condiciones WHEN de la cláusula EXCEPTION donde se encuentre.
Transacciones en Scripts
Cuando en los programas además de consultar los objetos de la base de datos también se hacen modificaciones de los mismos, es la herramienta que tienen las bases de datos para garantizar la integridad de los datos. Serie de instrucciones de manipulación de datos que constituyen una unidad de trabajo completa.