[SQL Dynamic] Consultas dinámicas con SQL 2005.


Hola amigos, en esta ocasión colocare un ejemplo de la realización de consultas SQL de manera dinámica, para esto utilizaremos el procedimiento almacenado de sistema sp_executesql, el cual nos permite ejecutar cadenas de tipo cadena como comandos SQL.

Sintaxis:

EXEC sp_executesql ‘<Cadena de comando SQL a ejecutar>’

El siguiente ejemplo realiza un select a una tabla de forma dinámica.

DECLARE @strSql NVARCHAR(255) --Variable de tipo cadena que almacenara el comando SQL.
SELECT @strSql=N'SELECT * FROM dbo.USUARIO_SYS';--Asignamos la consulta a la variable.
EXEC sp_executesql @strSql--Ejecutamos la cadena como comando

Y nos da como resultado:

image

Otra de la ventajas de sp_execsql es que nos permite usar parámetros en nuestras consultas:

Ahora seleccionaremos los usuarios que se encuentren con una fecha de alta entre el 7 y 9 de febrero.

DECLARE @sql nvarchar(255)
Select @sql=N'SELECT * FROM dbo.USUARIO_SYS WHERE  fecha_add between @de AND @hasta';
exec sp_executesql @sql, N'@de datetime,@hasta datetime','07/02/2009','09/02/2009'

Resultado:

image

Como se dieron cuenta se omitió la primera fila ya que no cumple con el criterio de fechas de la búsqueda, ahora ya saben que al utilizar el TSQL dinámico también pueden hacer uso de parámetros en sus consultas.

Espero les sirva.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: