none
Insert Into ETL RRS feed

  • Pregunta

  • Hola.

    Tengo una sentencia en SQL que estoy ejecutando desde un ETL con una 'Tarea de ejecutar SQL'

    INSERT INTO[dbo].[IND_REVISADOS]

    SELECT compania,pK_COMPA,2018,'Diciembre','2018-12-31','Indice de Cobertura de Base de Inversión (Revisado por la CNSF)'ASdescripcion ,BASE_INVERSION,1 FROM[dbo].TEMPORAL_IND

    Y que las columnas 3,4 y 5 que son (2018,Diciembre,2018-12-31) deseo agregarlas como parámetros.

    No veo como agregarlos o generarlos sea como una asignación de parámetros o con un expresión.

    Alguien ha tenido un caso asi?


    Mgm

    jueves, 4 de julio de 2019 17:33

Respuestas

  • Hola

    Si estoy utilizando SSIS.

    Ya lo he logrado¡¡

    la expresión quedaría de la siguiente manera :

    "INSERT INTO [dbo].[IND_REVISADOS]
    SELECT compania, pK_COMPA,'"+ @[$Project::año] + "','" + @[$Project::mes] + "', '2018-12-31','Indice de Cobertura de Base de Inversión (Revisado por la CNSF)' AS descripcion ,BASE_INVERSION,1 FROM [dbo].TEMPORAL_IND"

    El detalle aquí es que al momento de generar la expresión primero el inicio y fin se inicia y termina con dobles comillas: " Expresión" y después los parámetros que se quieran agregar a la expresión deben de ser considerados entre comilla simple seguido de una comilla doble: '"+Expresión+'".

    Saludos y espero a alguien le sirva.


    Mgm



    • Editado Slafco jueves, 4 de julio de 2019 22:56
    • Marcado como respuesta Slafco miércoles, 10 de julio de 2019 18:49
    jueves, 4 de julio de 2019 22:48

Todas las respuestas

  • Hola.

    He logrado armar la expresión de la siguiente manera a partir de las expresión original de SQL:

    INSERT

    INTO[dbo].[IND_REVISADOS]


    SELECT

    compania,pK_COMPA,2018,'Diciembre','2018-12-31','Indice de Cobertura de Base de Inversión (Revisado por la CNSF)'ASdescripcion ,BASE_INVERSION,1 FROM[dbo].TEMPORAL_IND

    De la siguiente manera:

    "INSERT INTO [dbo].[IND_REVISADOS]
    SELECT compania, pK_COMPA, '" + @[$Project::año] + "','" + @[$Project::mes] + "', '2018-12-31','Indice de Cobertura de Base de Inversión (Revisado por la CNSF)' AS descripcion ,BASE_INVERSION,1 FROM [dbo].TEMPORAL_IND"

    pero al evaluarla lanza incompleta la sentencia: 

    INSERT INTO [dbo].[IND_REVISADOS]

    SELECT compania, pK_COMPA, '','Diciembre', '2018-12-31','Indice de Cobertura de Base de Inversión (Revisado por la CNSF)' AS descripcion ,BASE_INVERSION,1 FROM [dbo].TEMPORAL_IND

    El año no lo esta tomando, alguien es experto en esto?


    Mgm

    jueves, 4 de julio de 2019 18:27
  • Utilizas SSIS ? algún pantallazo donde se vea la definición de variables @[$Project::año] @[$Project::mes] ?
    jueves, 4 de julio de 2019 21:51
  • Hola

    Si estoy utilizando SSIS.

    Ya lo he logrado¡¡

    la expresión quedaría de la siguiente manera :

    "INSERT INTO [dbo].[IND_REVISADOS]
    SELECT compania, pK_COMPA,'"+ @[$Project::año] + "','" + @[$Project::mes] + "', '2018-12-31','Indice de Cobertura de Base de Inversión (Revisado por la CNSF)' AS descripcion ,BASE_INVERSION,1 FROM [dbo].TEMPORAL_IND"

    El detalle aquí es que al momento de generar la expresión primero el inicio y fin se inicia y termina con dobles comillas: " Expresión" y después los parámetros que se quieran agregar a la expresión deben de ser considerados entre comilla simple seguido de una comilla doble: '"+Expresión+'".

    Saludos y espero a alguien le sirva.


    Mgm



    • Editado Slafco jueves, 4 de julio de 2019 22:56
    • Marcado como respuesta Slafco miércoles, 10 de julio de 2019 18:49
    jueves, 4 de julio de 2019 22:48