none
Llenar una variable de tipo table con sql dinamico RRS feed

  • Pregunta

  • Hola

    Me puede ayudar, tengo un problema al intentar llenar una variable de tipo tabla a partir de una consulta con sql dinamico, lo que esto haciendo es lo siguiente:

    --esta en la consulta de sql dinámico que utilizo para llenar mi variable de tipo tabla
    
    
    SET @nvchQuery = ' INSERT INTO @tmpCatalogos'
    SET @nvchQuery = @nvchQuery + ' SELECT ' + @nvchCampo + ', Descripcion, Abreviatura, Comentarios '
    SET @nvchQuery = @nvchQuery + ' FROM ' + @nvchTabla + ' WHERE Descripcion LIKE ''%' + @nvchFiltro + '%''' 
    EXECUTE SP_EXECUTESQL @nvchQuery
    
    
    --Esta es la sección donde declaro mi variable de tipo tabla
    
    DECLARE @tmpCatalogos TABLE
    (
    iId INT, 
    Descripcion NVARCHAR(100), 
    Abreviatura NVARCHAR(20), 
    Comentarios NVARCHAR(200)
    )
    
    --Y después quiero que me muestre los registros que tiene la tabla 
    
    select iId, Descripcion, Abreviatura, Comentarios  from  @tmpCatalogos

    Si alguien me puede orientar para saber si me falta algo o estoy haciendo algo mal. Les agradecería mucho.

    Gracias.

    jueves, 6 de marzo de 2014 16:23

Respuestas

  • Gracias ya lo resolví, este es el código que me solucionó mi problema

    DECLARE @Catalogos TABLE
    (
    	Id INT,
    	Descripcion NVARCHAR(100), 
    	Abreviatura NVARCHAR(20), 
    	Comentarios NVARCHAR(200)
    )
    
    SET @Query = ' SELECT ' + @Campo + ', Descripcion, Abreviatura, Comentarios '
    SET @Query = @Query + ' FROM ' + @Tabla + ' WHERE Descripcion LIKE ''%' + @Filtro + '%''' 
    INSERT INTO @Catalogos
    EXECUTE SP_EXECUTESQL @Query
    
    SELECT Id, Descripcion, Abreviatura, Comentarios FROM @Catalogos
    Gracias
    jueves, 6 de marzo de 2014 17:36

Todas las respuestas

  • Gracias ya lo resolví, este es el código que me solucionó mi problema

    DECLARE @Catalogos TABLE
    (
    	Id INT,
    	Descripcion NVARCHAR(100), 
    	Abreviatura NVARCHAR(20), 
    	Comentarios NVARCHAR(200)
    )
    
    SET @Query = ' SELECT ' + @Campo + ', Descripcion, Abreviatura, Comentarios '
    SET @Query = @Query + ' FROM ' + @Tabla + ' WHERE Descripcion LIKE ''%' + @Filtro + '%''' 
    INSERT INTO @Catalogos
    EXECUTE SP_EXECUTESQL @Query
    
    SELECT Id, Descripcion, Abreviatura, Comentarios FROM @Catalogos
    Gracias
    jueves, 6 de marzo de 2014 17:36
  • Eso mismo me imaginaba, asi que solo funcionaria, si llenas tu variable de tabla, a partir de una tabla normal
    miércoles, 17 de enero de 2018 20:14
  • Hola Abiel SD

    Para que los colaboradores del foro puedan brindarte su apoyo en la resolución de tus consultas, favor de crear un hilo a parte.

    Quedamos atentos ante cualquier comentario de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 18 de enero de 2018 16:03
    Moderador