Las bases de datos Oracle ofrecen un extenso conjunto de funciones estándar SQL y PL/SQL para manipular números y realizar conversiones entre números y cadenas de caracteres. En este artículo hablaremos sobre las funciones numéricas más comunes y que se tienen que utilizar con mayor frecuencia a la hora de programar en PL/SQL, siendo su conocimiento fundamental para cualquier programador de bases de datos Oracle.
Las funciones numéricas estándar más comunes del PLSQL y el SQL de Oracle son:
El lenguaje de programación de bases de datos Oracle PL/SQL. Librerías y funciones estándar SQL y PLSQL.
Mostrando entradas con la etiqueta Tutorial PL/SQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutorial PL/SQL. Mostrar todas las entradas
miércoles, 27 de noviembre de 2019
martes, 5 de noviembre de 2019
Operaciones aritméticas con fechas y la función TRUNC del PL/SQL
Siguiendo con el tema de algunos de los artículos de este blog, hoy pretendemos dejar ya zanjado el tutorial sobre como podemos trabajar en PL/SQL con los campos tipo DATE y TIMESTAMP de las bases de datos Oracle. En esta ocasión empezaremos hablando de las operaciones aritméticas que podemos realizar con estos campos y terminaremos escribiendo sobre la función estándar del PLSQL TRUNC.
Las bases de datos Oracle permiten realizar una gran variedad de operaciones aritméticas con los tipos de datos DATE y TIMESTAMP, pudiendo realizar dichas operaciones de diversas maneras.
Las bases de datos Oracle permiten realizar una gran variedad de operaciones aritméticas con los tipos de datos DATE y TIMESTAMP, pudiendo realizar dichas operaciones de diversas maneras.
lunes, 14 de octubre de 2019
Cláusula BULK COLLECT para mejorar el rendimiento al realizar procesamiento masivo
Yo siempre he dicho que cuando para hacer algo se pueden utilizar sentencias SQL sencillas, no resulta conveniente emplear complicados procedimientos PL/SQL que implementen la misma solución. Sin embargo, hay situaciones en que para mejorar el rendimiento de determinados bucles FOR en los que se realizan actualizaciones masivas sobre una determinada tabla de la base de datos Oracle, resulta conveniente utilizar técnicas PLSQL de procesamiento masivo (lo que en inglés se denomina BULK COLLECT).
Para entender mejor en qué consiste esta técnica, primero hay que comprender los motivos por los que un simple bucle FOR puede generar importantes problemas de rendimiento. Veamos el siguiente código PL/SQL:
Para entender mejor en qué consiste esta técnica, primero hay que comprender los motivos por los que un simple bucle FOR puede generar importantes problemas de rendimiento. Veamos el siguiente código PL/SQL:
lunes, 24 de junio de 2019
Trabajando con fechas en PL/SQL: los tipos DATE, TIMESTAMP e INTERVAL
Las fechas son un tipo de datos del PL/SQL considerablemente más complejo que un tipo carácter o un tipo numérico. Una fecha o momento de tiempo está compuesto de múltiples campos (año, mes, día, hora, minutos, etcétera) y, además, existen un buen número de normas para determinar si una fecha es válida o no (los años bisiestos, los cambios de hora, etcétera). Como consecuencia de todo esto, en PLSQL resulta habitual tener que:
Este artículo será el primero de una serie en los que explicaré todo lo que un programador PL/SQL necesita conocer para trabajar con los diferentes tipos de datos asociados con fechas y momentos de tiempo (DATE, TIMESTAMP e INTERVAL).
- Declarar constantes y variables de tipo fecha o tiempo.
- Utilizar funciones para modificar dichas variables y mostrarlas en el formato deseado por el usuario.
- Manipular fechas y tiempos para realizar cálculos variados.
Este artículo será el primero de una serie en los que explicaré todo lo que un programador PL/SQL necesita conocer para trabajar con los diferentes tipos de datos asociados con fechas y momentos de tiempo (DATE, TIMESTAMP e INTERVAL).
lunes, 1 de abril de 2019
Utilidad del paquete estándar PL/SQL DBMS_ROWID
Etiquetas:
Librerías estándar PLSQL,
Tutorial PL/SQL
lunes, 4 de marzo de 2019
Cómo evitar el uso de constantes fijas (hard-coded) en PL/SQL

lunes, 4 de febrero de 2019
Cómo utilizar un cursor PL/SQL como parámetro de salida en un procedimiento
SELECT * FROM empleados WHERE nombre = parametro_1 AND apellidos = parametro_2;
jueves, 22 de noviembre de 2018
Cómo ejecutar sentencias DDL dentro de un trigger PL/SQL

Etiquetas:
Tutorial PL/SQL,
Utilidades PLSQL
lunes, 16 de abril de 2018
Funciones de grupo en SQL (SUM, AVG, COUNT, MAX y MIN)
Las llamadas group functions o funciones de grupo son funciones que operan sobre múltiples registros de una sentencia SELECT. En este artículo hablaré sobre las funciones de grupo más comunes del SQL (en un artículo posterior también hablaré sobre las cláusulas GROUP BY y HAVING muy relacionadas con este tipo de funciones).
Lo primero que hay que saber de las funciones de grupo es que hacen cálculos sobre un grupo de registros devolviendo un resultado único, por lo que permiten, por ejemplo, obtener totales.
Lo primero que hay que saber de las funciones de grupo es que hacen cálculos sobre un grupo de registros devolviendo un resultado único, por lo que permiten, por ejemplo, obtener totales.
viernes, 16 de marzo de 2018
Gestión de errores y ROLLBACKS, lo que hay que saber
Es importante conocer el hecho de que cuando se produce un error PLSQL no gestionado dentro de una sección EXCEPTION, este hecho no supone que automáticamente se realice un ROLLBACK y que todos los cambios realizados en la base de datos Oracle desde el último COMMIT se deshagan.
De hecho, a menos que nuestro código incluya de forma explícita la sentencia ROLLBACK dentro de una sección EXCEPTION, o que el error no gestionado lo propaguemos hasta la aplicación desde la que estamos ejecutando nuestro código PL/SQL, no se producirá ningún ROLLBACK.
De hecho, a menos que nuestro código incluya de forma explícita la sentencia ROLLBACK dentro de una sección EXCEPTION, o que el error no gestionado lo propaguemos hasta la aplicación desde la que estamos ejecutando nuestro código PL/SQL, no se producirá ningún ROLLBACK.
viernes, 23 de febrero de 2018
Gestión de errores en PLSQL - Visión general
Incluso si fuéramos capaces de escribir un programa PL/SQL absolutamente perfecto, es altamente probable que algo pueda ir mal y se produzcan errores durante la ejecución. La manera en que nuestro código responde frente a estos errores, a menudo determina la diferencia entre una aplicación que funciona correctamente y otra que da continuos problemas a los usuarios y a los encargados de su mantenimiento.
Este es el primer artículo de una serie que escribiré sobre la gestión de errores en PLSQL. En ellos podréis leer sobre: los diferentes tipos de excepciones que se pueden dar; cuándo, cómo y por qué se generan excepciones; cómo definir nuestras propias excepciones; como manejar las excepciones cuando estas se producen; y cómo es posible informar a los usuarios cuando aparece un problema.
Este es el primer artículo de una serie que escribiré sobre la gestión de errores en PLSQL. En ellos podréis leer sobre: los diferentes tipos de excepciones que se pueden dar; cuándo, cómo y por qué se generan excepciones; cómo definir nuestras propias excepciones; como manejar las excepciones cuando estas se producen; y cómo es posible informar a los usuarios cuando aparece un problema.
Etiquetas:
Bases de datos Oracle,
Tutorial PL/SQL
miércoles, 31 de enero de 2018
Sentencia CASE en PL/SQL de Oracle
jueves, 18 de enero de 2018
Problemas con los triggers SQL

Etiquetas:
Bases de datos Oracle,
Tutorial PL/SQL
viernes, 15 de diciembre de 2017
Vistas materializadas y la funcionalidad "Query Rewrite"

Funcionalidad de reescritura de una consulta
Esta claro que acceder a una vista materializada puede ser significativamente más rápido que acceder a todas las tablas base utilizadas al crear dicha vista materializada. Es por esta causa por la que, si así lo hemos indicado al crear la vista materializada, el optimizador Oracle, si la consulta o query lo permite, puede reescribir el plan de ejecución de dicha consulta para acceder a la vista en lugar de a las tablas base. Obviamente, la reescritura de la consulta es transparente a las aplicaciones que la estén utilizando. Así pues, de alguna manera, el uso del QUERY REWRITE es similar al uso de un índice.
Etiquetas:
Tutorial PL/SQL,
Utilidades PLSQL
martes, 18 de julio de 2017
El refresco de las vistas materializadas en SQL y PL/SQL

Etiquetas:
Tutorial PL/SQL,
Utilidades PLSQL
viernes, 9 de junio de 2017
La claúsula WITH en SQL y PL/SQL

martes, 16 de mayo de 2017
SQL y PL/SQL - La sentencia INSERT multitabla

jueves, 9 de marzo de 2017
Las funciones PL/SQL LPAD, RPAD, REPLACE, TRANSLATE, TRIM, LTRIM y RTRIM (manejo de cadenas de caracteres II)
En este artículo encontraréis toda la información necesaria para que desde vuestros programas PLSQL podáis realizar tres operaciones básicas con las cadenas de caracteres: rellenar dicha cadena con espacios u otros caracteres, reemplazar un determinado carácter o grupo de caracteres dentro de dicha cadena, o eliminar un determinado carácter o grupo de caracteres en la mencionada cadena.
Las bases de datos Oracle proporcionan diferentes funciones que pueden utilizarse en bloques SQL y PLSQL para realizar estas operaciones. Las funciones de las que estamos hablando son LPAD, RPAD,
Las bases de datos Oracle proporcionan diferentes funciones que pueden utilizarse en bloques SQL y PLSQL para realizar estas operaciones. Las funciones de las que estamos hablando son LPAD, RPAD,
viernes, 3 de marzo de 2017
El paquete DBMS_PARALLEL_EXECUTE, procesamiento en paralelo desde PL/SQL
En muchas ocasiones nos encontraremos con la necesidad de realizar operaciones DML (UPDATE, INSERT, etcétera) sobre millones de registros de una tabla. Escribir el código PL/SQL encargado de realizar estas operaciones no tiene por qué ser complicado, pero el manejo de los segmentos de rollback y conseguir que el rendimiento de dicho código sea bueno, es decir, que termine en un tiempo aceptable, puede ser harina de otro costal.
Todas las nuevas versiones de las bases de datos Oracle incluyen una amplia variedad de nuevas funcionalidades que amplían su capacidad. La release 2 de la versión 11g de las bases de datos Oracle no es una excepción a esta norma e incluye más de cincuenta nuevos paquetes PLSQL, siendo uno de ellos el DBMS_PARALLEL_EXECUTE.
Todas las nuevas versiones de las bases de datos Oracle incluyen una amplia variedad de nuevas funcionalidades que amplían su capacidad. La release 2 de la versión 11g de las bases de datos Oracle no es una excepción a esta norma e incluye más de cincuenta nuevos paquetes PLSQL, siendo uno de ellos el DBMS_PARALLEL_EXECUTE.
sábado, 15 de octubre de 2016
La cláusula PIPELINED en las funciones PL/SQL y la excepción NO_DATA_NEEDED

La mejor forma de explicar el funcionamiento de esta cláusula es con un ejemplo.
Etiquetas:
Tutorial PL/SQL,
Utilidades PLSQL
Suscribirse a:
Entradas (Atom)