Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosac
Creator II
Creator II

Tabla temporal, residente y DROP

Buenos dias una vez más

No entiendo para que se utilizan las tablas temporales y los comando RESIDENT y DROP. Alguien me puede orientar un poco

1 Solution

Accepted Solutions
soniacoprosa
Creator
Creator

Hola Galvan,

Te voy a poner un ejemplo para que veas en que consisten los comandos Resident y Drop:

Imagina que tienes una tabla cargada por ejemplo desde un qvd:

DistriFuncionalPersonal:

LOAD

              AÑOMESCIERRE,

              AÑOCIERRE, //

              MESCIERRE,            // unión

              APCODI,                  //

              ClvDiFu,                                                                              

NombreMes,          

                APDESC,

                APDECC

FROM $(dtwarehouse)DistriFuncional.qvd (qvd);

Y que necesitas añadirle algún campo más de otra tabla. Cargarías esa tabla y después harías un Join con la tabla anterior, con Resident lo que hace es tomar los datos de la tabla previamente cargada.

Una vez unidos los valores que nos interesan, con Drop, lo que hace es borrar de la memoria esa tabla “Fijos” que en principio no nos interesa para nada más.

// Cargamos la tabla Fijos

Fijos:

LOAD

    PTAGRU,

    HDANIO,

    HDMES,

    HDNBI;

SQL SELECT

    PTAGRU,

    HDANIO,

    HDMES,

    Count(DISTINCT HDNBI) as HDNBI

FROM  $(LIB1).CGHSTDIWQ Where HDTIPO='1'

Group By

            PTAGRU,

            HDANIO,

            HDMES;

Left Join(DistriFuncionalPersonal)

LOAD

    PTAGRU as APCODI,                                                                      // unión

  HDANIO & Right('00' & HDMES, 2) as AÑOMESCIERRE,

    HDANIO as AÑOCIERRE,                                                    //

    HDMES as MESCIERRE,                                                                //

    HDNBI as Fijos

Resident Fijos;

Drop table Fijos;

Espero que te sirva de ayuda.

Un saludo,

Sonia

View solution in original post

3 Replies
soniacoprosa
Creator
Creator

Hola Galvan,

Te voy a poner un ejemplo para que veas en que consisten los comandos Resident y Drop:

Imagina que tienes una tabla cargada por ejemplo desde un qvd:

DistriFuncionalPersonal:

LOAD

              AÑOMESCIERRE,

              AÑOCIERRE, //

              MESCIERRE,            // unión

              APCODI,                  //

              ClvDiFu,                                                                              

NombreMes,          

                APDESC,

                APDECC

FROM $(dtwarehouse)DistriFuncional.qvd (qvd);

Y que necesitas añadirle algún campo más de otra tabla. Cargarías esa tabla y después harías un Join con la tabla anterior, con Resident lo que hace es tomar los datos de la tabla previamente cargada.

Una vez unidos los valores que nos interesan, con Drop, lo que hace es borrar de la memoria esa tabla “Fijos” que en principio no nos interesa para nada más.

// Cargamos la tabla Fijos

Fijos:

LOAD

    PTAGRU,

    HDANIO,

    HDMES,

    HDNBI;

SQL SELECT

    PTAGRU,

    HDANIO,

    HDMES,

    Count(DISTINCT HDNBI) as HDNBI

FROM  $(LIB1).CGHSTDIWQ Where HDTIPO='1'

Group By

            PTAGRU,

            HDANIO,

            HDMES;

Left Join(DistriFuncionalPersonal)

LOAD

    PTAGRU as APCODI,                                                                      // unión

  HDANIO & Right('00' & HDMES, 2) as AÑOMESCIERRE,

    HDANIO as AÑOCIERRE,                                                    //

    HDMES as MESCIERRE,                                                                //

    HDNBI as Fijos

Resident Fijos;

Drop table Fijos;

Espero que te sirva de ayuda.

Un saludo,

Sonia

carlosac
Creator II
Creator II
Author

Muchas gracias Sonia por este ejemplo . Me ha ayudado bastante

soniacoprosa
Creator
Creator

Un placer poder ayudar.

Un saludo,