Nueva wiki oficial de Oracle

La wiki oficial de Oracle en PLSQLDesde 1990, el sitio web Oracle Technology Network (OTN), ha proporcionado a la comunidad de usuarios de las bases de datos Oracle un medio informal de comunicarse e intercambiar conocimientos entre ellos mismos, así como con empleados de Oracle. En 2005, esta fórmula fue mejorada al surgir una gran colección de blogs oficiales de Oracle. No obstante, esto recursos contienen fundamentalmente información proporcionada por Oracle.

Ahora, por primera vez, clientes y asociados pueden complementar este contenido oficial con el que ha generado la comunidad OTN, todo gracias a la nueva wiki de Oracle. Para los que no sepan que es una wiki, diré que se trata de un software que permite a los usuarios editar, crear y enlazar páginas web de una manera muy sencilla. En esencia se trata de un sistema de gestión de contenidos muy fácil de usar y que facilita el cruce de enlaces y la publicación de artículos en colaboración con otros usuarios.

Con la nueva wiki de Oracle, puedes crear tu propio contenido web, incluyendo trucos y guías de instalación, documentación de proyectos, notas técnicas o cualquier otra cosa que capture tu imaginación. También se pueden publicar comentarios en las páginas web creadas por otros miembros de la comunidad Oracle. Sin duda, este mundo paralelo de Oracle formado por clientes y asociados, se trata del complemento perfecto al sitio web OTN y a los foros de discusión y blogs de Oracle.

Otro hecho que quiero mencionar es la existencia del llamado Oracle ACE Program, los Oracle ACEs son profesionales conocidos por sus profundos conocimientos en aplicaciones Oracle y por sus credenciales como entusiastas defensores de la comunidad Oracle. Los candidatos a ser Oracle ACEs pueden ser nominados por cualquier miembro de comunidad de aplicaciones y tecnología Oracle. Para poder acceder al programa Oracle ACE, los candidatos deben ser expertos que pongan su conocimiento de las aplicaciones Oracle al alcance de todos, a través de blogs, podcasts, conferencias, artículos o foros.

A continuación os pongo algunos enlaces a sitios de la Oracle Technology Network que no he mencionado anteriormente en el contenido de este artículo:

Notas de prensa
Descargas de software gratis
Documentación
Centros de tecnología
Podcasts
Artículos técnicos
Foros de discusión
Calendario de eventos para desarrolladores

Anuncios

Oracle 11g y la cláusula PIVOT: Como girar columnas en SQL y PL/SQL

Una tarea que puede resultarnos útil en determinadas circunstancias es conseguir girar (en inglés pivot) los resultados entregados por una consulta SQL o PLSQL. Por ejemplo, supongamos que escribimos la siguiente consulta para calcular el precio medio de los productos por almacen: SigueLyendo…

SQL> SELECT almacen, producto, AVG(precio) pmedio
 2  FROM  productos
 3  GROUP BY almacen, producto
 4  /

ALMACEN PRODUCTO PMEDIO
------- -------- ------
Ba      ABC123       95
Ba      DEF456       75
Ba      XYZ987      160
Ma      ABC123      100
Ma      XYZ987      150
Va      DEF456       80

6 rows selected.

Paquete DBMS_SQL para utilizar SQL dinámico (Dynamic SQL)

El grupo de paquetes DBMS se trata de un conjunto de funciones y procedimientos que el PL/SQL de Oracle incorpora de forma estándar. Estos paquetes DBMS pueden ser de mucha utilidad cuando estamos programando en PLSQL. Hoy voy a hablar sobre el paquete DBMS_SQL que permite utilizar SQL dinámico en procedimientos almacenados y bloques PL/SQL.

Las sentencias de SQL dinámico tienen la característica de que no forman parte del código fuente PL/SQL, sino que están almacenadas dentro de cadenas de caracteres que, bien forman parte de los parámetros de entrada, o bien son construidas durante la ejecución del programa PLSQL. Esto posibilita la creación de programas de propósito mucho más general. Por ejemplo, se pueden crear procedimientos que operen sobre una tabla cuyo nombre no se conoce hasta el momento de la ejecución, ya que se trata de un parámetro de entrada de dicho procedimiento.

Además, con el paquete DBMS_SQL se pueden ejecutar cualquier tipo de sentencias, tanto DML (Data Manipulation Language – Lenguaje de manipulación de datos), como DDL (Data Definition Language – Lenguaje de definición de datos). Por lo tanto, también permite directamente desde PL/SQL crear, modificar o borrar: tablas, índices, o cualquier objeto DDL (incluso procedimientos).

En el siguiente ejemplo os muestro un procedimiento almacenado en el que, dependiendo de los parámetros de entrada, se actualiza, bien el sueldo (campo salario), bien el departamento (campo dpto), de un determinado empleado.

CREATE OR REPLACE PROCEDURE upd_tabla_empleados
(   p_campo  IN VARCHAR2
  , p_emp_id IN VARCHAR2
  , p_valor  IN VARCHAR2 ) IS

  l_cursor        INTEGER;
  l_sql           VARCHAR2(500); -- Sentencia a ejecutar
  l_updated_rows  INTEGER;       -- Número de rows actualizadas
BEGIN
  l_sql := 'UPDATE empleados SET ' || p_campo || ' = ' ||
           p_valor || ' WHERE empleado_id = ' || p_emp_id;

  l_cursor := dbms_sql.open_cursor;
  dbms_sql.parse (l_cursor, l_sql, dbms_sql.native);
  l_update_rows := dbms_sql.execute (l_cursor);
  dbms_sql.close_cursor (l_cursor);
END;

Por lo tanto si ejecutamos el comando:
SQL> EXEC upd_tabla_empleados ('dpto', '1234', 'Compras');

Estaremos asignando el empleado con ID 1234 al departamento de compras.
Y si ejecutamos:

SQL> EXEC upd_tabla_empleados ('salario', '1122', '3000');

Estaremos asignando al empleado con ID 1122 un salario de 3.000 pesos.

Vistas Materializadas

Como quedó un teclado después del refresco (refresh) de vistas materializadas (Materialized views) en las bases de datos Oracle

El refresco de las vistas materializadas en SQL y PL/SQL

Ya he hablado en otro artículo acerca del funcionamiento básico de las vistas materializadas, en éste voy a exponer los distintos tipos de refresco que se pueden utilizar para actualizar una vista materializada con los cambios provocados por las actualizaciones en las tablas base utilizadas en la misma. El tipo de refresco que debemos elegir dependerá de la frecuencia de actualización de las tablas base y de las necesidades que tengamos de disponer de datos exactos.

Tipos de refresco

COMPLETE: Este tipo de refresco implica el borrado de los datos existentes y la reinserción de todos los datos mediante la reejecución de la consulta SELECT que define la vista materializada.

FAST: El refresco aplica sólo a los cambios realizados sobre las tablas base desde el último refresco. Puede ser de dos tipos: SigueLeyendo. . .

Oracle 11g

Oracle lanza la base de datos Oracle 11g
SQL y PL/SQL - Oracle ha lanzado la base de datos Oracle 11g
Oracle ha lanzado la base de datos Oracle 11g, disponible globalmente sobre plataforma Linux, y que ha sido especialmente desarrollada para ayudar a los clientes a abordar los retos derivados de un entorno empresarial cada vez más cambiante y competitivo, la necesidad de manejar grandes volúmenes de datos y la posibilidad de ofrecer una mayor calidad de servicio y reducir a la vez los costes tecnológicos asociados.

La base de datos Oracle Database 11g proporciona nuevas funcionalidades que garantizan un alto rendimiento, una alta escalabilidad, fiabilidad y seguridad, permitiendo el uso de plataformas grid y asegurando altos niveles de calidad de servicio e incrementos de la flexibilidad de negocio reduciendo además los costes de explotación. Con la base de datos Oracle 11g los clientes pueden resolver los problema más exigentes en todas las áreas, incluyendo aplicaciones transaccionales, de inteligencia de negocio y de gestión de contenidos. SigueLeyendo…

Galactic Suite” Primer hotel espacial

Hotel espacial Dentro de cuatro años abrirá sus piuertas Galactic Suite, el primer hotel espacial de la historia, que se establecerá a 450 kilómetros de la Tierra. Esta instalación contará con un spa en gravedad cero, en el que el turista podrá jugar con una burbuja de agua gigante, de 20 litros, dividiéndola en miles de burbujas en un juego de nunca acabar.

Hasta 38 personas han realizado ya su reserva para el viaje cuatros españoles , mientras que ocho proceden de Estados Unidos, siete de los Emiratos Árabes, seis de China, cinco de Rusia, otras cinco de Australia y tres de Sudamérica.

Sigue leyendo