2012-09-03

Consultas dinámicas en SQL Server

Las consultas dinámicas son muy útiles cuando no se conoce que premisas intervendrán en una búsqueda, tanto campos como tablas, aquí dejo unos ejemplos sencillos de como usarlos.

--Ejemplo #1



DECLARE @tabla VARCHAR(100);
SET @tabla = 'clientes';
EXEC ('SELECT * FROM ' + @tabla);


--Ejemplo #2

DECLARE @tabla VARCHAR(100);
DECLARE @campos VARCHAR(100);
DECLARE @condicion VARCHAR(100);

SELECT @campos='cliente_id,nom,dir',@tabla='clientes',@condicion='obs IS NOT NULL';

EXEC 
(
' SELECT ' + @campos +
' FROM   ' + @tabla +
' WHERE  ' + @condicion +
' ORDER BY 1;'
);

Como podemos ver es muy simple la ejecución y armado de estos querys, nos vemos en la próxima!!!