Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/04/2009, 09:55
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 10 meses
Puntos: 38
Respuesta: como simular TRIGER Select

claro, la idea es crear una sola vista particionada que pueda accederse en lugar de la enorme tabla original (la tabla original es reemplazada por la vista que contiene una union de las tablas divididas).

En la ayuda de sql server viene un ejemplo que agrego a continuacion, lo puedes buscar en el indice como "partitioned views":

El campo que utilizarias seria Fecha, en lugar del numero de cliente...

En este caso las tablas estan en servidores distintos, pero no hay problema, lo mismo aplica para tablas en la misma base de datos en el mismo server.

Código:
For example, you are partitioning a Customer table into three tables. The CHECK constraint for these tables is:

-- On Server1:
CREATE TABLE Customer_33
  (CustomerID   INTEGER PRIMARY KEY
                CHECK (CustomerID BETWEEN 1 AND 32999),
  ... -- Additional column definitions)

-- On Server2:
CREATE TABLE Customer_66
  (CustomerID   INTEGER PRIMARY KEY
                CHECK (CustomerID BETWEEN 33000 AND 65999),
  ... -- Additional column definitions)

-- On Server3:
CREATE TABLE Customer_99
  (CustomerID   INTEGER PRIMARY KEY
                CHECK (CustomerID BETWEEN 66000 AND 99999),
  ... -- Additional column definitions)

----------------- La vista centralizada seria : -----------------------

CREATE VIEW Customers AS
   SELECT * FROM CompanyDatabase.TableOwner.Customers_33
UNION ALL
   SELECT * FROM Server2.CompanyDatabase.TableOwner.Customers_66
UNION ALL
   SELECT * FROM Server3.CompanyDatabase.TableOwner.Customers_99
GO



y se accede directamente con:

SELECT * Customers WHERE CustomerID  = 2000

Espero te sea de utilidad,

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.