INSERT Scripts con valores de secuencia y expresiones personalizadas

    Publicado 01. septiembre 2025

    Actualizado en octubre de 2025


    Introducción

    ¡Bienvenido a nuestro blog! Hoy nos complace presentar una nueva mejora que se incluirá en los valores de secuencia y las expresiones personalizadas de los scripts INSERT creados por Hora. Esta actualización le ofrece más flexibilidad y control a la hora de generar sentencias INSERT para sus tablas.


    Cómo se creaban anteriormente los scripts INSERT

    Hasta ahora, los scripts INSERT se generaban mediante scripts del contenido de datos de una tabla. Podía ajustar el resultado mediante:

    • Filtrando filas con WHERE condiciones para limitar los datos que se escribían en el script.

    • Ocultar columnas en la cuadrícula de datos para excluir su contenido de la exportación.

    Aunque estas opciones funcionaban bien, algunos casos seguían requiriendo una mayor flexibilidad.


    Lo que faltaba

    Muchos clientes solicitaron la posibilidad de:

    • Rellenar las columnas de clave principal con valores de una secuencia en lugar de los datos originales.

    • Insertar valores de fecha y hora utilizando la fecha actual del sistema en lugar de los valores existentes.

    • Definir otras expresiones personalizadas, como constantes o llamadas a funciones, directamente en el script INSERT, en lugar de exportar los valores de la tabla.

    Este nivel de personalización no era posible, hasta ahora.


    La solución: scripts INSERT con valores de secuencia y expresiones personalizadas

    En KeepTool 16.2.3, hemos ampliado el cuadro de diálogo Script INSERT con una nueva sección Expresiones personalizadas.

    INSERT Script Dialog and new section “Custom Expressions”

    Cuadro de diálogo Script INSERT y nueva sección «Expresiones personalizadas»

    Esta sección proporciona una cuadrícula con dos columnas:

    1. Nombre de columna: seleccione la columna de destino (por ejemplo, DEPARTMENT_ID).

    2. Expresión personalizada: introduzca un valor manualmente o elija uno de la lista desplegable.

    Puede utilizar cualquier constante o expresión válida en una instrucción INSERT. Hora sugiere opciones comunes como:

    • CURRENT_TIMESTAMP

    • Constantes de fecha

    • Secuencias de su esquema Oracle


    Ejemplo

    Supongamos que desea generar nuevos valores de clave principal en lugar de reutilizar los exportados.

    • Seleccionar DEPARTMENT_ID.

    • Establezca el valor en DEPARTMENTS_SEQ.NEXTVAL.

    Hora utilizará la secuencia para rellenar automáticamente la columna de clave principal.


    El resultado

    El script INSERT generado ahora asigna valores de clave primaria a partir de una secuencia en lugar de reutilizar los datos de la tabla existente.

    INSERT /*+append_values*/ ALL
    INTO DEPARTMENTS( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
    VALUES( DEPARTMENTS_SEQ.NEXTVAL, 'QA', 204, 2700)
    INTO DEPARTMENTS( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
    VALUES( DEPARTMENTS_SEQ.NEXTVAL, 'Administración', 200, 1700)
    INTO DEPARTMENTS( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
    VALUES( DEPARTMENTS_SEQ.NEXTVAL, 'Marketing', 201, 1800)
    -- ..
    INTO DEPARTMENTS( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
    VALUES( DEPARTMENTS_SEQ.NEXTVAL, 'Ventas minoristas', NULL, 1700)
    INTO DEPARTMENTS( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
    VALUES( DEPARTMENTS_SEQ.NEXTVAL, 'Contratación', NULL, 1700)
    INTO DEPARTMENTS( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID)
    VALUES( DEPARTMENTS_SEQ.NEXTVAL, 'Payroll', NULL, 1700)
    SELECT 1 FROM DUAL
    /
    COMMIT
    /

    Esto facilita mucho la preparación de scripts para rellenar nuevos conjuntos de datos, probar entornos o inicializar nuevas tablas.


    Resumen

    Con la nueva función Scripts INSERT con valores de secuencia y expresiones personalizadas, puede:

    • Generar scripts INSERT con valores dinámicos o constantes.

    • Utilizar secuencias, funciones y otras expresiones para sustituir los datos originales.

    • Simplificar el proceso de preparación de scripts INSERT reutilizables y flexibles.

    Esta mejora proporciona un mayor control y agiliza su flujo de trabajo al trabajar con sentencias INSERT en Hora.


    ➡️ 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.