Genere sentencias SQL de Oracle fácilmente con las funciones del portapapeles de KeepTool.

    Publicado 13. marzo 2015

    Actualizado en octubre de 2025


    El generador visual de consultas

    La generación de sentencias SQL de Oracle es una de las tareas más frecuentes a las que se enfrentan los desarrolladores de Oracle. En este boletín, exploraremos varios métodos que ayudan a los desarrolladores a completar este trabajo de forma mucho más eficiente.

    Al unir varias tablas, puede utilizar el generador de consultas de KeepTool, al que se puede acceder en cualquier ventana del editor a través del icono de la obra.

    Hora's Visual SQL Query Builder

    Generador visual de consultas SQL de Hora

    Por ejemplo, haga doble clic en la LOCATIONS tabla en la barra de navegación izquierda para llevarla al diseñador de la derecha. A continuación, haga clic con el botón derecho del ratón en el diseñador y seleccione una tabla de detalles relacionada, como DEPARTMENTS. El generador de consultas las conectará mediante un RIGHT OUTER JOIN, ya que la clave externa LOCATION_ID en DEPARTMENTS puede ser nula. Utilice las casillas de verificación situadas junto a los nombres de las columnas para seleccionar las columnas que desea mostrar y asegúrese de marcar la casilla «ANSI Joins» (Uniones ANSI) en la parte inferior. Después de cerrar el cuadro de diálogo, verá el SQL generado en la ventana de código:

       SELECT 
         LOCATIONS.CITY,
         LOCATIONS.POSTAL_CODE,
         DEPARTMENTS.DEPARTMENT_ID,
         DEPARTMENTS.DEPARTMENT_NAME
       FROM LOCATIONS
       RIGHT OUTER JOIN DEPARTMENTS ON (LOCATIONS.LOCATION_ID = DEPARTMENTS.LOCATION_ID)

    Copiar SQL al portapapeles

    Hay ocasiones en las que se necesita una instrucción SQL sencilla basada en una sola tabla sin tener que escribir todos los nombres de las columnas. En este caso, utilice la página Overview → Tables (Descripción general → Tablas) y seleccione la opción «Copy to clipboard…» (Copiar al portapapeles…) del menú contextual.

    SQL Generation with Clipboard Output (CURSOR FOR LOOP, etc.)

    Generación de SQL con salida al portapapeles (CURSOR FOR LOOP, etc.)

    Generación de código SQL sensible al contexto, como CUSROR FOR LOOP

    Esta opción proporciona varios tipos de sentencias que puede generar para la tabla seleccionada:

    • Instrucción SELECT

    • Instrucción INSERT

    • Instrucción UPDATE

    • Instrucción MERGE

    • Instrucción DELETE

    • CURSOR FOR LOOP

    • Condición WHERE

    Los dos últimos elementos generan plantillas para Oracle expdp exportación e impdp import de Oracle utilizando las tablas que ha seleccionado:

      expdp system@PORA12C1 tables=DEPARTMENTS,LOCATIONS 
       directory=DATA_PUMP_DIR  dumpfile=pora12c1.dmp reuse_dumpfiles=y logfile=pora12c1.log

    Mostrar DDL

    Otro comando útil en la página Descripción general → Tablas es «Mostrar DDL».

    Reverse DDL Code Generation for Database Objects

    Generación de código DDL inverso para objetos de base de datos

    Mediante nuestro motor Reverse/DDL, genera el DDL necesario para crear las tablas seleccionadas.

    También puede encontrar las opciones de menú «Copiar al portapapeles» y «Mostrar DDL» para otros tipos de objetos de base de datos, como paquetes, secuencias y usuarios.


    La ventana del editor

    Cuando se encuentra en una ventana del editor, hay disponibles opciones adicionales de generación de SQL. Abra el explorador de objetos de base de datos (haga clic en el icono del signo de interrogación en la barra de herramientas), arrastre el nombre de una tabla a la ventana de código, haga doble clic en él para seleccionar el nombre y, a continuación, haga clic con el botón derecho y abra el submenú «Objeto seleccionado».

    Drag and Drop SQL Code Generation

    Generación de código SQL mediante arrastrar y soltar

    Desde allí, puede insertar el objeto seleccionado en diferentes tipos de SQL o PL/SQL, como por ejemplo:

    • Instrucción SELECT

    • Instrucción INSERT

    • Instrucción UPDATE

    • CURSOR FOR LOOP

    Por ejemplo, al elegir CURSOR FOR LOOP se obtiene:

      BEGIN
        FOR rec IN (
          SELECT DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID
          FROM DEPARTMENTS
        ) LOOP
          -- process rec
        END LOOP;
      END;
    

    Hay atajos rápidos disponibles para todos estos comandos. Por ejemplo, puede expandir el nombre de una tabla en una instrucción SELECT pulsando Ctrl + Mayús + S.
    Esto le permite comenzar rápidamente desde una plantilla generada y luego personalizar el SQL o añadir instrucciones adicionales al bucle.


    ¡Vea cómo funciona!

    Descubra cómo KeepTool le ayuda a generar SQL de forma rápida y eficiente.


    ➡️ Pruebe KeepTool gratis

    Las herramientas Oracle de KeepTool están diseñadas específicamente para desarrolladores, administradores de bases de datos (DBA) y equipos de soporte. Con más de 25 años de experiencia, optimizamos continuamente nuestro software para que el análisis y la documentación de sus bases de datos sean más rápidos, eficientes y claros.