Saltar al contenido

Sepa Utilizar la Tabla DUAL en PL-SQL Packages en Oracle

PL-SQL Packages en OracleSi aprendes a utilizar correctamente la tabla DUAL en los PL-SQL Packages de Oracle podrás solucionar rápidamente problemas que se presenten al momento desarrollar procesos y funciones en Oracle.

En tus PL-SQL Packages en Oracle la tabla DUAL es una tabla comodín que se crea de forma automática al momento de instalar la Base de Datos Oracle, esta tabla tiene un solo campo y un solo registro. Esta tabla DUAL en tus PL-SQL Packages en Oracle se puede usar para realizar operaciones matemáticas, crear filas virtuales, asignar valores, obtener secuencias, utilizar funciones, etc. Revisemos algunos ejemplos para que entiendas mejor como se debe usar la tabla DUAL en tus PL-SQL Packages en Oracle.

Ejemplo #1: Supone que necesitas realizar una operación matemática y asignar el resultado a una variable, veamos cómo se hace:

/* PL-SQL Packages en Oracle */

Lin_total number;

Begin

Lin_total:= (100000*19)/100 ;

End;

En este ejemplo se muestra la forma tradicional de asignar un resultado a una variable. Veamos ahora el mismo ejemplo pero usando la tabla DUAL:

/* PL-SQL Packages en Oracle */

Begin

Select (100000*19)/100 into lin_total from dual;

End;

En este ejemplo de PL-SQL Packages en Oracle se hace una multiplicación y división y el resultado se asigna en la variable lin_total usando la tabla Dual.

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

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

Ejemplo #2: Supone que necesitas obtener el valor de una secuencia, veamos cómo se hace:

/* PL-SQL Packages en Oracle */

Lin_id_empleado number;

Begin

Lin_id_empleado:= sq_empleado.nextval;

End;

En tus PL-SQL Packages en Oracle la asignación de la forma tradicional para obtener una secuencia no funciona ya que una secuencia es un elemento de la base de datos y se debe obtener con el comando Select. Veamos cómo obtener una secuencia de forma correcta:

/* PL-SQL Packages en Oracle */

Begin

Select sq_empleado.nextval into lin_id_empleado from dual;

End;

En este ejemplo de PL-SQL Packages en Oracle se obtiene correctamente el valor de una secuencia ya que se está haciendo un Select a la tabla dual y se asigna de inmediato el valor nextval obtenido en la variable lin_id_empleado.

Te propongo que pruebes de inmediato este ejemplo en tu Base de Datos con tus propios PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, 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

6 comentarios en «Sepa Utilizar la Tabla DUAL en PL-SQL Packages en Oracle»

    1. Hola Felipe, gracias por comunicarte, muy buena tu pregunta, para verificar el valor actual de una secuencia debes usar el atributo CURRVAL de la siguiente forma, para que funcione primero debe ejecutarse un NEXTVAL:

      select tu_secuencia.nextval from dual;
      resultado: 101

      select tu_secuencia.currval from dual;
      resultado: 101

      PD: Ya obtuviste mi libro-reporte sobre “Cómo Construir un SELECT Eficiente en Oracle en Solo 7 Pasos”, si aún no lo tienes puedes obtenerlo desde el enlace: https://dominatuspackagesen0racle.com/

      Saludos
      Roberto Vicencio – Para Tu Éxito con Oracle.

    1. Hola Ronald, gracias por comunicarte y por tu comentario, te recomiendo que para saber mucho de Oracle empieces por parte desde lo básico, intermedio y avanzado, en este blog puedes encontrar mucha información para iniciar, también te recomiendo obtener mi Libro-Reporte sobre “Cómo Construir un SELECT Eficiente en Oracle en Solo 7 Pasos”, si aun no lo tienes puedes obtenerlo desde el enlace https://dominatuspackagesen0racle.com/, gracias.

      Saludos
      Roberto Vicencio – Para Tu Éxito con Oracle.

    1. Hola Carlos, gracias por comunicarte, en PL-SQL todas las variables deben ser declaradas en la zona declare, puedes asignarla directamente con := o dentro de un from dual si es que requieres hacer algo mas elaborado, todo depende de los quieras hacer.

      PD: Ya pudiste ver mi libro reporte sobre ‘Cómo Crear un SELECT Eficiente en ORACLE en Solo 7 Pasos’, si aun no lo tienes en tus manos puedes obtenerlo gratis desde aquí: https://dominatuspackagesen0racle.com/

      Saludos
      Roberto Vicencio – Para Tu Éxito con Oracle.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.