1 0 Tag Archives: SQL
post icon

Como ejecutar SQL dinámico en SQL Server

Recién escribía sobre SQL Dinámico sobre MySQL y aprovecho para escribir también sobre SQL Server. Escencialmente son muy parecidos la manera de trabajar, pero MsSQL nos ofrece un 2 maneras de llevar a cabo este cometido.

  • Con el comando EXECUTE O EXEC
  • Y con el SP sp_executesql

Deben tener en cuenta que usar el segundo método es más eficiente, ya que el motor puede crear planes de ejecución en base a estadísticas de los querys si se ejecutan más de una vez, y ofrece substitución de parámetros. (Continuar Leyendo sobre Como ejecutar SQL dinámico en SQL Server)

post icon

Como ejecutar SQL dinámico en MySQL

Si necesitamos crear crear una consulta SQL que se vaya armando según algunos patrones, ya sean hechos por el usuario o algunos datos y no queremos crear muchos querys distintos y empezar a evaluar cual se ejecutará podemos recurrir a los SQL Dinámicos.

El mismo es soportado por la mayoría de los motores de base de datos, y en esta entrega veremos como hacerlo en MySQL, en las siguiente veremos como hacerlo en SQL Server y Oracle.

Consiste en crear una variable de texto (varchar en la mayoría de los casos) e ir armando dentro de ella la consulta a ejecutar, luego simplemente qudaría ejecutar la variable. (Continuar Leyendo sobre Como ejecutar SQL dinámico en MySQL)

post icon

Como llevar un control de versiones del código DDL en SQL Server

Ya conociamos y veniamos hablando del SubVersion para algunos IDE’s de desarrollo e instalación de los servidores sobre Windows y Linux.

Es también sabidos que subversionar nuestros proyectos en el lenguaje que estén hechos es muy sencillo, y nos aporta muchas ventajas. Pero que sucede a la hora de versionar la Base de Datos?

Aquí casi siempre tendremos problemas, especialmente si trabajan como estoy acostumbrado. Todo el desarrollo posible sobre la BD en vez de la App. Esto nos lleva a mayor tiempo y trabajo invertido sobre la base de datos no subversionada que la aplicación que sí lo está (un poco paradójico en cierto modo).

Oracle tiene su propia herramienta de versionado de código (que podremos verlo más adelante, más vale que lo tenga con lo que cuesta también este motor). Pero los otros motores? Especificamente con SQL Server podemos versionar el código con Team Foundation Server si configuramos bien las cosas.

Otra alternativa que he encontrado hace muy poco y me ha gustado más que todas las existentes (al menos que conozco) es el producto de Red Gate, la misma es de paga, pero me parece un precio justo por la herramienta que es y no representa casi nada con lo que podemos salvar utilizando. Aunque si hubiera sido bueno tener una gamma más amplia de productos para subversionar bases de datos con opciones libres y abiertas (si encuentro alguna no duden que lo postearé, o si conocen alguna haganmelo saber que lo comento). (Continuar Leyendo sobre Como llevar un control de versiones del código DDL en SQL Server)

post icon

SubQuery SQL: cláusula FROM

Los SubQuery’s o SubConsultas son herramientas poderosas si las sabemos usar, y son básicamente consultas anidadas en otras consultas la cual devuelve un conjunto de valores. Prácticamente un SubQuery puede ser utilizado en cualquier expresión y cláusula ya sean SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.

Como el tema de los SubQuery es bastante largo lo iré partiendo en pedazos agrupados por expresión (recomendación de Juan Cuevas), como lo ven en el título ahora veremos los SubQuerys aplicados en la cláusula FROM.

Ya sabemos que la cláusula FROM sirve para identificar las tablas de donde serán proveídos los datos a retornarse, como un SubQuery retorna un conjunto de valores también (Continuar Leyendo sobre SubQuery SQL: cláusula FROM)

post icon

Delete o Truncate Table?

Muchos se preguntan constantemente que les conviene utilizar cuando quieren vaciar completamente una tabla, si uno es más rápido que el otro, cual es más óptimo?. Prácticamente todos los motores relacionales lo soportan.

Y si, cada uno tiene sus beneficios y contras, es cuestión de que es lo que buscamos lograr.

Para los que desconocen que hace el Truncate Table, es similar a ejecutar una sentencia Delete sin la claúsula Where

(Continuar Leyendo sobre Delete o Truncate Table?)

post icon

Tips para optimizar el rendimiento de SQL Server

Buenas a todos una vez más… hace unos días tuvimos la visita de un grande en tecnologías Microsoft en mi trabajo, y este articulo es básicamente un resumen de algunos de los puntos más resaltantes de las recomendaciones que nos dio, para realizar sobre nuestro servidor actual, y para nuevos servidores que se quieran instalar. Sin más preámbulos, pasemos de pleno a las recomendaciones, a las cuales, les he dado un toque particular para explicarlas 😉 (Continuar Leyendo sobre Tips para optimizar el rendimiento de SQL Server)

post icon

Instalación SQL Server 2008… Una guía más? Porqué no :)


Buenas a todos! Llevo bastante rato lejos de Devtroce asi que tengo un par de articulos que desempolvar… entre ellos, este…

Mucho he encontrado en la web acerca de guías de instalación del motor de base de datos estrella que posee Microsoft, pero muchas veces debemos complementar la info de esas guías con otras. Bueno, la idea de este pequeño tutorial de instalación de SQL Server es eso, analizar el proceso de instalación de SQL Server paso a paso de principio a fin, y tratar de explicar las distintas áreas de la instalación. (Continuar Leyendo sobre Instalación SQL Server 2008… Una guía más? Porqué no :))

post icon

Como programar en n-Capas con C# (Parte 3)

Esta es la tercer entrega, probablemente será la más corta pero no la última aún. El motivo de su longitud es por que es una clase que se utiliza como medio para crear la flexibilidad y portabilidad de fuentes de datos, en éste caso motores de base de datos.

También daremos por terminada la capa de Acceso a Datos, entonces así no mezclamos el código y será más fácil seguirlo posteriormente. También pertenecerá al namespace AccesoDatos. Lo llamo conexión por que es la clase con las otras capas interactuaran en modo directo.
Para ello creamos un objeto estático de la clase GDatos que instanciará de la clase SqlServer. Creo que ya van captando el rumbo de esto no? si crearamos otra clase por ejemplo Oracle.cs o MySQL.cs, solamente cambiariamos una linea de código, donde el objeto GDatos del tipo GDatos, sea SqlServer, Oracle u otro motor que codifiquemos. Podemos hacerlo con ODBC, OleDB para conexiones genéricas. No les parece grandioso que solo deban tocar parte de una línea de código para portar la App a cualquier otro motor de Base de Datos? 😀 (Continuar Leyendo sobre Como programar en n-Capas con C# (Parte 3))

post icon

Como programar en n-Capas con C# – SQL Server (Parte 2)

Continuando con la segunda entrega de la programación en n-Capas, (la primera  lo pueden ver aqui).  Hasta el momento solo creamos una clase abstracta que servirá de padre para las demás implementaciones (1 clase por cada fabricante de motor).

Ahora nos enfocaremos en crear una capa para conectarnos a SQL Server, si llegamos a cambiar de proveedor de base de datos en algún momento, lo único que deberíamos hacer es agregar una clase semejante a ésta con la implementación especifica para éste motor, ni siquiera debemos modificar ésta clase que veremos ahora, el unico cambio (Continuar Leyendo sobre Como programar en n-Capas con C# – SQL Server (Parte 2))

post icon

VoltDB, la nueva generación de bases de datos OLTP

Hace poco vio la luz un nuevo DBMS, en el año 2009, llamado VoltDB, y su creador es nada más y nada menos Mike Stonebraker quien trabajó en el desarrollo de PostgreSQL e Ingres. Es un motor que promete bastante, y trae ideas bastantes nuevas, personalmente por su características no me parece que reemplazará a los tradicionales y robustos moteres empresariales que tenemos hoy día en el mercado, pero si me parece una muy buena alternativa para los servicios que requieren alta disponibilidad de los mismos no tanto alta fiabilidad de datos.

Quienes pueden requerir este tipo de productos? Hoy día servicios como facebook, twitter y otros requieren de súper velocidades de respuestas ya que son tan populares y deben ser rápidos éstos en responder.

Este motor se enfoca mucho a trabajar en memoria constante, y no tanto en disco físico. Además que prometen ser una 50 veces más rápido que otros motores, pudiendo procesar unas 53.000 transacciones por segundo, contra las (Continuar Leyendo sobre VoltDB, la nueva generación de bases de datos OLTP)

Página 2 de 3123