Buenas,

Muchas gracias por las respuestas. Al fin encontré lo que estaba buscando. Las 
tablas temporales nunca me funcionaron muy bien. Prefiero crear tablas 
concretas durante el tiempo que vaya a estar usando el procedure o hacer alguna 
otra cosa. Para los que les quede la duda va la resolución

    set @myquery = N'SELECT @q = count(*) from ' + @full_err_table_name
    EXEC sp_executesql 
            @query = @myquery, 
            @params = N'@q INT OUTPUT', 
            @q = @q OUTPUT

Con el procedure  " sp_executesql  " puedo pasarle ese parámetro @q OUTPUT para 
poner ahí la salida de la consulta.
Espero les sirva
Aníbal


Sebastián Santisi <[EMAIL PROTECTED]> escribió:  Hola, Aníbal;

Aníbal Lovaglio wrote:
> Gracias Javier,
> sí, en realidad eso ya lo había probado, pero con eso lo que no pude 
> hacer es que los resultados queden en alguna variable. Es decir, eso me 
> solucionaba una parte del problema, pero lo que no podía hacer era 
> averiguar en ejecución la cantidad de filas de las tablas como con
> 
> "select @q = (select count(*) from @variable)"
> 
> y consultas similares, como para elegir algunos campos.

 Podés usar tablas temporales para esto:

DECLARE @q INT;
DECLARE @table VARCHAR(255);

SELECT @table = 'Saraza'; -- Este sería parámetro del procedimiento.

CREATE TABLE #Temp ( q INT );

EXEC('INSERT INTO #Temp (q) (SELECT COUNT(*) FROM ' + @table + ')');

SELECT @q = q FROM #Temp;

DROP TABLE #Temp;

PRINT @q;

 No sé si sea lo más prolijo, pero funciona.
 Me parece que no tenés otra manera de meter a @q adentro del scope del 
EXEC; por lo que usar una tabla como almacenamiento intermedio te sirve.
 Saludos;

      Sebastián Santisi
      [EMAIL PROTECTED]

> O sea, esto era otra cosa que necesitaba hacer en el medio para contar 
> algunas cosas y de esa manera no podía obtener después los valores en 
> variables. Si resuelvo esa parte estoy hecho.
> 
> Aníbal
> 
> 
> */Javier Persico /* escribió:
> 
>     Te recomiendo que armes una cadena de texto y luego la ejecutes de
>     la siguiente forma:
>      
>     DECLARE @v_cSql as nVARCHAR(4000)
>     set @v_cSql = 'select * from' + @variable
>     exec sp_executesql @v_cSql
>     Saludos!
>     El día 19/11/07, *Aníbal Lovaglio* 
>     > escribió:
> 
>         Buenas a todos
>         Estoy trabajando con unas bases en SQL Server 2000 y tengo un
>         problema que hace algunos días que no puedo resolver. Quiero
>         hacer un procedure que reciba como argumentos, los nombres de un
>         par de tablas y una columna, y con eso hacer varias operaciones.
> 
>         Más puntualmente, las tablas tienen campos de texto que, para
>         variar, están rotos, y levanté una tabla de correcciones para
>         pasarles a las columnas de texto con alguna sentencia update que
>         ya estuve probando y funciona, pero son muchos campos y de
>         distintas tablas que tengo que corregir, por lo que tener que
>         estar cambiando el código del procedure realmente no es la
>         opción más sana, y claramente no sería una buena práctica de
>         programación.
> 
>         La pregunta concretamente es si alguien sabe como, con una
>         variable de un procedure conteniendo u obtenida a partir del
>         nombre de la tabla, dentro del procedure puedo hacer un
>             "select * from @variable"
> 
> 
>         Desde ya muchas gracias
>         Aníbal
>         
> ------------------------------------------------------------------------
> 
>         Compartí video en la ventana de tus mensajes y también tus fotos
>         de Flickr.
>         Usá el Nuevo Yahoo! Messenger versión Beta.
>         Visitá http://ar.beta.messenger.yahoo.com/
> 
>         _______________________________________________
>         Lista de correo Programacion.
>         [email protected] 
>         http://listas.fi.uba.ar/mailman/listinfo/programacion
> 
> 
>     _______________________________________________
>     Lista de correo Programacion.
>     [email protected]
>     http://listas.fi.uba.ar/mailman/listinfo/programacion
> 
> 
> ------------------------------------------------------------------------
> 
> Los referentes más importantes en compra/venta de autos se juntaron:
> Demotores y Yahoo!. Ahora comprar o vender tu auto es más fácil.
> Visitá http://ar.autos.yahoo.com/
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion



_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion


       
---------------------------------

Los referentes más importantes en compra/venta de autos se juntaron:
Demotores y Yahoo!.Ahora comprar o vender tu auto es más fácil. 
 Visitá http://ar.autos.yahoo.com/
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a