1 0 Archive | SQL RSS feed para esta categoría
post icon

Como lograr Unpivot de múltiples columnas

Para hacer lo más sencilla posible la explicación de como lograr UNPIVOT con varias columnas usaremos un ejemplo simple con UNPIVOT de una sola columna primeramente. Imaginemos que tenemos una tabla de candidatos para un puesto y RRHH debe realizar las llamadas a los números de sus referencias personales y laborales para hacer las comprobaciones, la estructura sería la siguiente: (Continuar Leyendo sobre Como lograr Unpivot de múltiples columnas)

post icon

Crear Consultas SQL con filtros dinámicos de manera eficiente

Crear consultas SQL con filtros dinámicos siempre ha sido un tema controversial, especialmente en cuanto a que técnicas de implementación son mejores. Y es muy común utilizarlas en las áreas que se dedican al reporting.

Lo más común que se suele hacer es caer en el error de armar la query SQL de forma dinámica dentro de la aplicación, esto puede provocar fallos en la seguridad y problemas de rendimiento, otra forma común de implementar es con SQL Dinámico, que dependiendo de como se implementa también (Continuar Leyendo sobre Crear Consultas SQL con filtros dinámicos de manera eficiente)

post icon

Generar un rango de filas para usar como producto cartesiano o como conjuto de datos en SQL Server

Otra de las tantas interrogantes que todo programador de SQL suele hacerse, es como generar filas dinámicamente sin leer datos de tablas, para cruzarlo con otras tablas o vistas y así obtener un producto cartesiano o un conjunto de resultados para unirlos con otros conjuntos. La típica solución suele ser usar un bucle como un while o un cursor, para insertar datos en alguna variable tipo tabla o una tabla temporal los cuales presentan serios problemas de rendimiento. De hecho, haremos unas pruebas con un millón de filas creadas en discos distintos, el primer (Continuar Leyendo sobre Generar un rango de filas para usar como producto cartesiano o como conjuto de datos en SQL Server)

post icon

Concatenar filas en una sola fila con valores separados por comas con SQL

Constantemente me topo con personas del ambiente laboral o de foros que me preguntan como pueden pasar las filas que les retorna un select a una sola columna y fila separando los valores por comas, por eso hoy publico este post.

Para lograr esto existen muchas vías, unas más optimas o complejas que otras. No voy a exponer cada una de esas técnicas, pero si veremos una de las maneras más sencillas y eficientes hacerlo. (Continuar Leyendo sobre Concatenar filas en una sola fila con valores separados por comas con SQL)

post icon

Como configurar las transacciones distruibuidas en Windows [MSDTC]

Cuando trabajamos con servidores de bases de datos, configurados como linked server y otros casos similares necesitamos tener correctamente configurado el Coordinador de Transacciones Distribuidas. También pudo ser que llegaste aquí porque te apareció el siguiente error:

El proveedor OLE DB “SQLNCLI” para el servidor vinculado “MISERVIDOR” devolvió el mensaje “El administrador de transacción asociada ha deshabilitado su soporte para transacciones de red o remotas.

(Continuar Leyendo sobre Como configurar las transacciones distruibuidas en Windows [MSDTC])

post icon

La cláusula COALESCE [ANSI SQL] vs ISNULL [TSQL]

Éstas dos cláusulas hacen prácticamente lo mismo, por eso generan mucha confusión sobre como usar y cuando usarlo aunque sean realmente sencillas de comprender e implementar además de ser más que útiles.

Básicamente ambas validan un valor o más si es o no NULL y lo reemplazan por otro pero tienen sutiles diferencias.

post icon

Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning]

Continuando con los tips para optimizar nuestras querys SQL, trataremos unas de las clásulas que más ralentizan éstas. El operador LIKE.

La definición que exponen en la TechNet me gusta y dice asi:

Determina si una cadena de caracteres específica coincide con un patrón especificado. Un patrón puede contener caracteres normales y caracteres comodín. Durante la operación de búsqueda de coincidencias de patrón, los caracteres normales deben coincidir exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los caracteres comodín pueden coincidir con fragmentos arbitrarios de la cadena. La utilización de caracteres comodín hace que el operador LIKE sea más flexible que los operadores de comparación de cadenas = y !=.

Como se tiene que trabajar con cadenas de texto, dentro de otras cadenas más grandes normalmente, es un proceso lento para la comparación. Muchas veces (Continuar Leyendo sobre Optimizar las querys con cláusula LIKE en SQL [SQL-Tunning])

post icon

Obtener un registro de la base de datos aleatoriamente mediante SQL

Si lo que necesitas es obtener una o un par de filas de tu base de datos de manera “randomica”  existen muchas soluciones que se pueden implementar, desde hacer un “select silvestre” y desde alguna aplicación que utilice algoritmos que permitan seleccionar un registro de manera aleatoria, hasta “cocinarlo” en desde la misma base de datos.

Dependiendo el contexto de trabajo es conveniente elegir una opción u otra. Pero ésta vez quiero centrarme más bien en hacer el trabajo desde la Base de Datos, con un Query SQL para los distintos (Continuar Leyendo sobre Obtener un registro de la base de datos aleatoriamente mediante SQL)

post icon

Como utilizar la cláusula OVER [Partition By / Order by] en SQL [Optimización]

Ver query’s con la cláusula OVER no es muy común, normalmente la mayoría de los programadores o DBA crean sub-query’s para obtener los mismos resultados, lo que en sí no es malo ya que logran visualizar los mismos datos. El problema principal se encuentra en el rendimiento que tiene uno y otro método.

El motor que sea que estés utilizando optimiza el tiempo de ejecución y los bloqueos de las filas cuando se escribe scripts con OVER ya que el mismo trabaja sobre los datos ya obtenidos, en vez de volver a recuperarlos de origen.

La cláusula OVER está definida en el estándar ISO de SQL, (Continuar Leyendo sobre Como utilizar la cláusula OVER [Partition By / Order by] en SQL [Optimización])

post icon

Como saber cuando fue el último acceso a una Base de Datos SQL Server

Conocer cuando fue la ultima vez que se accedió a una base de datos en SQL Server no es una tarea fácil de resolver, ya que no hay un valor que sirva específicamente para eso, si es que no llevamos un sistema de auditoría a la par.

Otra manera es ver el registro del transaction log de la base de datos, aunque la misma es muy dificil de interpretar, a parte que son funciones de SQL Server no documentadas por Microsoft y para peor de todo están almacenadas en un formato propietario. (Continuar Leyendo sobre Como saber cuando fue el último acceso a una Base de Datos SQL Server)

Página 1 de 3123