7 mar. 2013

Ejecutar consulta dinámica en Transact SQL

Cómo ejecutar consulta dinámica en Transact SQL

Ejecutar consulta dinámica en Transact SQl
Ejecutar consulta dinámica en Transact SQL
En ocasiones nos vemos obligados a utilizar consultas dinámicas cuando trabajamos con Transact SQl, en el artículo de hoy veremos la cómo realizar consultas dinámicas con un ejemplo práctico muy sencillo.


¿QUÉ ES UNA CONSULTA DINÁMICA?

Una consulta dinámica es cualquier cadena de texto que contiene una consulta y puede ejecutarse como tal. Las consultas dinámicas son muy útiles para componer en tiempo real una determinada consulta eligiendo los campos y tablas con los que vamos a trabajar.

¿CÓMO SE EJECUTAN LAS CONSULTAS DINÁMICAS EN TRANSACT SQL?

Transact SQL permite ejecutar consultas dinámicas de dos maneras diferentes:
  1. EXECUTE: Ejecuta una cadena de comandos o una cadena de caracteres dentro de un lote de Transact-SQL o uno de los siguientes módulos: procedimiento almacenado del sistema, procedimiento almacenado definido por el usuario, procedimiento almacenado CLR, función escalar definida por el usuario o procedimiento almacenado extendido.

  2. sp_executesql: Ejecuta una instrucción o lote Transact-SQL que puede volver a utilizarse muchas veces o uno que se ha generado de forma dinámica. La instrucción o el lote Transact-SQL puede contener parámetros incrustados.

    Para ejecutar consultas dinámicas se recomienda utilizar siempre este método.

EJEMPLO DE EJECUCIÓN DE UNA CONSULTA DINÁMICA EN TRANSACT SQL

Consulta: Mostrar las tarjetas cuyo código empieze por 'PRC' y si IdArticulo tenga algún valor.
DECLARE @Sql nvarchar(1000)

SET @Sql = 'SELECT * FROM Tarjetas WHERE LEFT(CodTarjeta,3) = 'PRC' AND NOT IdArticulo IS NULL'

EXEC sp_executesql @Sql


Si te ha gustado el artículo sobre cómo ejecutar una consulta dinámica en Transact SQL puedes colaborar con este Blog visitando a nuestros patrocinadores, con esto me ayudarás a mantener el Blog y pueda escribir más artículos.

ARTÍCULOS QUE TE PUEDEN INTERESAR

Cómo guardar la configuración de una red wifi en Windows 7
Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha