PL-SQL Packages en OracleSi aprendes para que sirve la pseudo columna ROWID en los PL-SQL Packages en Oracle, podrás obtener la información que identifica a cada fila de una tabla de forma única, es decir, el valor del ROWID es un dato único que identifica a una fila, no pueden haber dos filas con el mismo ROWID en una tabla.

Sin embargo, puede ocurrir que las filas de diferentes tablas que están almacenadas en un mismo CLUSTER (sector del disco) tengan el mismo ROWID.

El valor del ROWID en los PL-SQL Packages en Oracle no cambia durante toda la vida útil de una fila, sin embargo, no se recomienda utilizar el valor del ROWID como clave principal de una tabla.

Si se elimina o se inserta una fila en la tabla, con los comandos DELETE e INSERT respectivamente, el ROWID de la fila puede cambiar, por ejemplo, si se elimina una fila, Oracle puede reasignar el ROWID de la fila eliminada a una nueva fila insertada mas tarde, por esa razón no se puede usar el ROWID como llave primaria en los PL-SQL Packages en Oracle.

/* PL-SQL Packages en Oracle */

El valor del ROWID tiene los siguientes usos:

–          Es el medio más rápido de acceso a una fila en la tabla.

–          Muestra información de como se almacena una fila en la tabla.

–          Es un identificador único de la fila en la tabla.

La pseudo columna ROWID de los PL-SQL Packages en Oracle se puede utilizar en el comando SELECT y en la cláusula WHERE de una consulta. El ROWID no es una pseudo columna almacenada en la Base de Datos Oracle, por lo tanto, no se puede insertar, actualizar o eliminar su valor.

Revisemos algunos ejemplos de cómo se puede utilizar la pseudo columna ROWID en los PL-SQL Packages en Oracle.

TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”

¡ Haz Click Aquí y Descárgalo GRATIS Ahora !

Ejemplo #1: Supone que deseas saber el valor ROWID de la tabla de empleados para un departamento en particular, veamos como se hace:

/* PL-SQL Packages en Oracle */

Select ROWID, emp.id_empleado, emp.nombre

From t_empleado emp

Where emp.id_departamento = pin_id_departamento;

Este ejemplo muestra el siguiente resultado:

/* PL-SQL Packages en Oracle */

ROWID                                 id_empleado               nombre

0000000F.0000.0003             101                             OSCAR
0000000F.0002.0003             105                             JONAS
0000000F.0005.0003             108                             AMALIA

Ejemplo #2: Supone ahora que debes actualizar un dato accesando la tabla por su ROWID, veamos como se hace:

/* PL-SQL Packages en Oracle */

Update t_empleado Set nombre= ‘AMELIA’

Where ROWID = (select rowid from t_empleado where id_empleado = 108);

En este ejemplo se actualiza el nombre del empleado buscando el registro por el ROWID.

Te propongo que pruebes de inmediato estos ejemplos en tu Base de Datos con tus propias tablas,  PL/SQL Procedure y PL/SQL Function, para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica en tus PL/SQL Packages en Oracle.

Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de PL/SQL Packages en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL/SQL Packages en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.

Saludos

Roberto Vicencio - Escritor del Reporte:

Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos