Tablas derivaras en SQL Server

En entradas anteriores vimos las Subconsultas que son más semejante a una tabla derivada. La diferencia es que en una tabla derivada es definida entre paréntesis en clausula FROM de la consulta externa y se le debe de especificar un nombre. Es necesario indicar que estas tablas son temporales y son creadas en tiempo de consulta.

Las tablas derivadas son usadas cuando necesitamos hacer consultas sobre otra consulta y que son un poco complejas.

Para ilustrar un poco más veamos un ejemplo, utilizando la base de datos Northwind, supongamos que deseamos saber la cantidad de órdenes que despachan según la posición de los empleados y que cantidad y porcentaje vende cada empleado de manera individual.

(más…)

Continuar leyendo Tablas derivaras en SQL Server

Subconsultas en SQL Server

En SQL Server podemos realizar subconsultas o subquerys, que no es más que una consulta dentro de otra, ya sea un SELECT, UPDATE, DELETE u otra subconsulta. Las subconsultas pueden ser "self-contained", o sea independientes de una consulta externa o pueden ser "correlated", dígase, que tienen referencia a una columna de una tabla de la consulta externa.

Continuar leyendo Subconsultas en SQL Server

SQL Server: Triggers

Un Trigger o desencadenador es un tipo de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento de Lenguaje de Manipulación de Datos (DML), o sea cuando se ejecuta un INSERT, UPDATE o DELETE en una tabla o un evento de Lenguaje de Definición de Datos (DDL) en este caso un DROP TABLE o ALTER TABLE en una base de datos.

La sintaxis básica es la siguiente:

CREATE TRIGGER nombre_trigger
ON { tabla | DATABASE } --Tabla a la que se establecerá el Trigger o la palabra reservada DATABASE para Triggers DDL
{ FOR }{ INSERT, UPDATE, DELETE, DROP_TABLE, ALTER_TABLE} --Evento que se desea lanzar (se puede usar más de uno)
DECLARE @nombre_variable TIPO --Nombre y tipo de datos de la variable si se desea crear
AS Bloque de instrucciones

(más…)

Continuar leyendo SQL Server: Triggers