如:CREATE TABLE [dbo].[member_1] (
[member_id] [int] NOT NULL PRIMARY KEY
CHECK ([member_id] BETWEEN 1 AND 50000)
) CREATE TABLE [dbo].[member_2] (
[member_id] [int] NOT NULL PRIMARY KEY 
CHECK ([member_id] BETWEEN 50001 AND 100000),

create view member as select * from member_1
union all select * from member_2

解决方案 »

  1.   

    就可以了!主要是你有一个列能区分记录在哪个表里!再用check约束住它!这样查询起来也快如:
    http://expert.csdn.net/Expert/topic/1668/1668473.xml?temp=.8302881
      

  2.   

    create table [2002年数据] (编号 int,年 int check(年=2002) default 2002,数据 int,primary key(编号,年))
     
    create table [2003年数据] (编号 int,年 int check(年=2003) default 2003,数据 int,primary key(编号,年))create view 所有数据 as ----这个就是分区视图!
    select * from [2002年数据] 
    union all
    select * from [2003年数据] 
    go
      

  3.   

    建分区视图
    分区视图在一个或多个服务器间水平连接一组成员表中的分区数据,使数据看起来就象来自一个表。Microsoft® SQL Server™ 2000 区分本地分区视图和分布式分区视图。在本地分区视图中,所有的参与表和视图驻留在同一个 SQL Server 实例上。在分布式分区视图中,至少有一个参与表驻留在不同的(远程)服务器上。此外,SQL Server 2000 还区分可更新的分区视图和作为基础表只读复本的视图。分布式分区视图可用于实现数据库服务器联合体。联合体是一组分开管理的服务器,但它们相互协作分担系统的处理负荷。这种通过分区数据形成数据库服务器联合体的机制使您能够扩大一组服务器,以支持大型的多层 Web 站点的处理需要。有关更多信息,请参见设计联合数据库服务器。在实现分区视图之前,必须先水平分区表。原始表被分成若干个较小的成员表。每个成员表包含与原始表相同数量的列,并且每一列具有与原始表中的相应列同样的特性(如数据类型、大小、排序规则)。如果正在创建分布式分区视图,则每个成员表分别位于不同的成员服务器上。为了获得最大程度的位置透明度,各个成员服务器上的成员数据库的名称应当是相同的,但不要求非这样。例如:Server1.CustomerDB、Server2.CustomerDB、Server3.CustomerDB。成员表设计好后,每个表基于键值的范围存储原始表的一块水平区域。键值范围基于分区列中的数据值。每一成员表中的值范围通过分区列上的 CHECK 约束强制,并且范围之间不能重叠。例如,不能使一个表的值范围从 1 到 200000,而另一个表的值范围从 150000 到 300000,因为这样将不清楚哪个表包含 150000 与 200000 之间的值。
      

  4.   

    --这里已写得很清楚了:create table [2002年数据] (编号 int,年 int check(年=2002) -----------------------------这个约束实现了区分记录在哪个表里default 2002,数据 int,primary key(编号,年))
     
    create table [2003年数据] (编号 int,年 int check(年=2003) default 2003,数据 int,primary key(编号,年))
    go
    create view 所有数据 as -----------------------这个就是分区视图!
    select * from [2002年数据]  
    union all
    select * from [2003年数据] 
    go
      

  5.   

    http://expert.csdn.net/Expert/topic/1660/1660923.xml?temp=.6388819